例如,来自可执行文件或 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
在等待回调时托管您处理消息的应用程序。