問題タブ [fpc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
108 参照

design-patterns - 仮想静的フィールドによって解決できることの解決策を教えてください... FPCで

私は Freepascal でイベント マネージャーをやっています。
各イベントはオブジェクト タイプ TEvent (=オブジェクト) であり、各種類のイベントはこのクラスから派生する必要があります。
イベントは、動的に割り当てられる整数識別子によって区別されます。
問題は、インスタンスのイベント ID を取得したいのですが、うまくできないことです。

  • クラス(オブジェクト)のすべてのインスタンスには一意のID =>があるため、静的フィールドにする必要があります。
  • すべてのクラスには異なる id => があるため、仮想でなければなりません。
  • イベントIDは実行時に割り当てられ、変更される可能性がある=>ため、単純な方法にはなりません

要するに、私はこれをすべてまとめることができません。
私はエレガントなソリューションを探しています。ハードコードされたテーブルを書きたくないので、すべてのコンストラクターでそれを実現します...など、ポリモーフィズムを利用したものを好む
誰かが別の技術的または設計的ソリューションで私を助けてくれますか? ?
オブジェクト構成の代わりにクラスを使用したくないことに注意してください。(プロパティはオブジェクトでは機能しませんか? :(

0 投票する
2 に答える
1815 参照

command-line - Lazarusプロジェクトのmakefileを作成するにはどうすればよいですか?

Lazarusサイトで簡単な検索を行った後、この質問は何度か尋ねられたという結論に達しましたが、答えが見つからなかったので、SOの仲間に尋ねます。

プロジェクトをコンパイルするときにLazarusIDEアクションを複製するMakefileを作成する方法はありますか?

もしそうなら、それがmakefile.fpcなのか、それとも単なるmakefileなのかは本当に気にしないので、そこにたどり着く方法についてのポインタが欲しいだけです。

ところで、私はLazarusオプションでMakefileを有効にするオプションを試しました。動作しません。

0 投票する
1 に答える
155 参照

windows-ce - PageControl fpc/Lazaurs の割り当てでの EBusError

プログラム用に動的な TTabSheets を作成しようとしています。
FPC/Lazarus で作成され、ARM/WinCE 用にビルドされて
います。設計時に作成されたタブシートを含め、すべてが機能しますが、次のコード

Tab.PageControl := PageControl1; 例外EBusError、バス エラー、または位置合わせされていないデータ アクセスが発生します。

私はこれを読みましたが、それがどのように適用されるかわかりません http://wiki.freepascal.org/Windows_CE_Development_Notes#Alignment_problems

コードは win32
FPC バージョン 2.2.4で正常に動作します。

0 投票する
2 に答える
265 参照

resources - Lazarus や FPC に関する活発なブログ

「Emborcadero」が取っている全体的な方向性に本当に腹を立てており、FPC/Lazarus に本当に投資するつもりです。

Lazarus のドキュメントページに移動すると、次のブログが見つかりました。

フォローするブログや Twitter アカウントに関して、より多くのリソースを提案してもらえますか?

0 投票する
2 に答える
1551 参照

lazarus - FPC/Lazarus コミュニティはどこにありますか?

すべての FreePascal および/または Lazarus の大物を呼び出します!!

[FPC]または[Lazarus]とタグ付けされた質問の大部分を見ると、それらのほとんどに答えるのがMarco van de Voortであることがわかります...

しかし、なぜ?

FPCLazarusコミュニティの他のメンバーはどこにいますか?

このあたりには Delphi の人が増えていますが、FPCLazarus内でのやりとりが恋しいです。

したがって、これはフリー パスカルの大物たちが自己紹介をして、私たち「ファン」にもう少し興味を持ってもらう機会になるでしょう。

みんなありがとう!

0 投票する
1 に答える
1871 参照

delphi - メインスレッド (Lazarus) のコンテキストでコードを実行する

メインスレッドのコンテキストでコードを実行する必要があります。Lazarus + FPC を使用しています。DLL (Linux の場合は共有ライブラリ) 内のスレッドからイベントを受け取り、コールバック関数が呼び出されます。この関数はどのクラスのメンバーでもなく、「cdecl」ディレクティブが付加されたスタンドアロンの従来の関数であることに注意してください。

このようなメッセージを受信するたびに、対応するプロパティ イベント ハンドラーをトリガーする必要があります。これらのイベントは、メイン スレッドのコンテキストで渡す必要があります。私は2つのそのような解決策を知っています:

  1. 投稿メッセージ
  2. Application.QueueAsyncCall

最初のものは問題ありませんが、ウィンドウ ハンドルが必要です。これはライブラリ コードであるため、使用できるハンドルはありません。AllocateHWND はクロス プラットフォームではないため、オプションではありません。ダミーフォームを作成できることは知っていますが、これは非常に悪い解決策です

2番目は問題なく動作しますが、たとえばアプリケーション内でマウスを移動するまで呼び出しが処理されないという問題があります。たぶん、私は何か間違ったことをしているのかもしれません。メッセージ処理が開始されたときにのみ通話が処理されているようです。しかし、これは明らかに長い待ち時間になる可能性があります。

したがって、ここでの最善の解決策 (おそらく QueueAsyncCall) と、メッセージ (呼び出し) が許容時間内に処理されることを確認する方法を知りたいですか?

0 投票する
1 に答える
468 参照

lazarus - LazarusApacheモジュールをApache1.3、2.0、および2.2に選択的にコンパイルするにはどうすればよいですか?

/etc/fpc.cfgを見てきましたが、いくつかの定義について言及されています。

  • FPCAPACHE_1_3
  • FPCAPACHE_2_0

次に、fcl-webの例では、次のことに言及しています。

  • Apache1_3

私が見つけた唯一のものは、これら両方のファイルのapr.pasにあります。

  • /usr/share/fpcsrc/2.4.0/packages/httpd20/src/apr/apr.pas
  • /usr/share/fpcsrc/2.4.0/packages/httpd22/src/apr/apr.pas

では、コンパイラはどのバージョンのAPRをコンパイルするかをどのように決定するのでしょうか。

0 投票する
2 に答える
548 参照

lazarus - Lazarus で WebLaz プロジェクトをコンパイルする際の問題

私の仕様:

  • OS: Ubuntu 10.04 LTS amd64
  • fpc: 2.4.0
  • ラザロ: 0.9.28

WebLaz プロジェクトを作成してコンパイルするだけで、WebLaz プロジェクトをコンパイルしようとしています。どういうわけか、使用する httpd および fpapache ユニットを決定するときにコンパイラがすべて失われます。

フォーラムで同様の問題を見つけました。

そこに提供されているソリューションのいくつかを試した後、私はまだこの時点にいます:

  1. コンパイル済みユニットとパッケージのソースの下に httpd22 しかない場合、プロジェクトは正常にコンパイルされます。残念ながら、それは完全にリンクに失敗します。

  2. 元の fpc/lazarus フォルダー構造 (場所、ユニット、ソースの両方で HTTPD13、HTTPD20、および HTTPD22 のすべてが変更されていない) では、コンパイラーは httpd のチェックサムが変更され、fpapache のソースを見つけることができないと不平を言います。

    • httpd20 の下に httpd.pas が見つかりますが、2.2 のフォルダーでのみ機能します。

WebLaz コンポーネントを使用してこれをコンパイルする方法が完全にわかりません。何が欠けていますか?

0 投票する
2 に答える
658 参照

apache2 - mod_helloworld.lpr のビルド

mod_helloworld.lpr、C:\lazarus\components\fpweb\demo\helloworld\apache の Apache サンプルをビルドしようとしています。

Lazarus 0.9.29
FPC バージョン 2.4.3 SVN 27129
i386-win32

$(LazarusDir)\fpc\2.4.3\source\packages\fcl-web\src\他のユニット ファイル (-Fu) に追加するとコンパイルされますが、ビルド/リンクするとエラーが発生します。

lclか何かを追加しようとしていますが、本当にわかりません。

0 投票する
1 に答える
1157 参照

lazarus - Free Pascal .dll/.so で WSRegister* を回避する方法

最終的に「空の」Apache モジュールのコンパイルに成功しましたが、かなり厄介な障害にぶつかりました。

MongoDB サーバーと通信したいので、FreePascal/Lazarus 用の唯一のライブラリであるpebongoを選択しました。

pebongoの依存関係はシナプスです。

モジュールを Apache にロードすると、どういうわけか "/usr/lib/apache2/modules/mod_visius.so: undefined symbol: WSRegisterCustomImageList" が表示されます。

私は Menus.pp でシンボルを追跡したと思いますが、これには lazarusall (何か) も役割を果たしていると思います。繰り返しますが、私は思います:)

これらの WSRegister* シンボルが表示されないようにするにはどうすればよいですか?