私はDelphiとC++ Builderの間で共有されるべきコンポーネントに取り組んでいるので、私はというリンガフランカとしてパスカルを使用しています。私は自宅のコンピュータにDelphiをインストールしていないので、まずLazarus IDEでコンポーネントを作成しました。今、私のDelphiにも "移植" と驚異的な構文の問題を発見した:異なるオブジェクトパスカル方言のイベント割り当て構文
これは、FPC(ただし、デルファイ)でコンパイル:
FSync.FSyncMethod := @SyncCheckInput;
これは、Delphi(ただし、FPC)でコンパイル:
FSync.FSyncMethod := SyncCheckInput;
この構文上の相違にもかかわらず、LazarusとDelphi間でユニットを共有するにはどうすればよいですか?
"FreePascalはDelphiのコアクラスの多くを模倣しています.TThreadとその' Synchronize() 'メソッドを含みます:[FreePascal Wiki |マルチスレッドアプリケーションチュートリアル| TThreadクラス](http://wiki.freepascal.org/Multithreaded_Application_Tutorial#The_TTread_Class) –
@RemyLebeau私は非ブロッキング同期メカニズムが必要でした。スレッドセーフである 'Application.QueueAsyncCall'をLazarusで取得し、 PostMessage'をDelphiの(AllocateHWnd経由で)非表示ウィンドウに追加します。もちろん、私は 'TThread'クラスを使いましたが、' Synchronize'は私の場合、ランデブーな機能のために役に立ちませんでした。とにかくありがとう:) – Wolf
'TThread'には非同期' Queue() 'メソッドもあります。 –