Delphi のマルチスレッドについて質問があります。スレッドがあり、いくつかのクラスがあり、いくつかの作業を行い、同期が必要であるとします。どうすればそれを作ることができますか?私はこの手順を作成します(ThreadClassで):
procedure TThreadClass.SynchProc(P: TProc);
begin
...
Synchronize(TThreadProcedure(P));
...
end;
そして、スレッドで実行されているクラスから呼び出しますが...プロシージャシンボルでは、「同期化」はTThreadのメソッド、つまりオブジェクト「(Self as TThread)」ですが、クラスからprocを呼び出すと、変数「Self」には、my ThreadClass オブジェクトが含まれていません (含まれていることはわかりませんが、Thread で実行されている 2 番目のクラスのオブジェクトである可能性があります)。それぞれ、その手順は機能しません。他のバリアントを検索します (threadClass オブジェクトを 2 番目のクラス オブジェクトに渡し、2 番目のクラスのプロシージャから "同期" プロシージャを呼び出そうとしましたが、コンパイラはそれをコンパイルしませんでした)。
手伝って頂けますか?どんな助けにも感謝します
ウクライナからのご挨拶 PS 下手な英語でごめんなさい