たとえば、実行可能ファイルまたは dllのCreateTimerQueueTimerからのコールバックによって提供されるスレッドから? メインスレッドと同じスレッド ID を持つことは重要です。
procedure TMyMainClass.ExecuteMe(someparam: paramtype);
begin
{something}
end;
と
procedure TimerCallback(pvContext: pointer; fTimerOrWaitFired: boolean); stdcall;
begin
{do what ?}
end;
Final update:
このすべてのもの ( TThread.Synchronize
、など) はTThread.Queue
、PostThreadMessage
メッセージを通じて機能します。dll
そのため、コールバックを待っている間、処理メッセージのホスト アプリケーションを確認してください。