たとえば、実行可能ファイルまたは 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そのため、コールバックを待っている間、処理メッセージのホスト アプリケーションを確認してください。