例如,从CreateTimerQueueTimer的回调函数提供的线程中?与主线程具有相同的线程ID非常重要。
最终更新: 所有这些东西(
procedure TMyMainClass.ExecuteMe(someparam: paramtype);
begin
{something}
end;
并且
procedure TimerCallback(pvContext: pointer; fTimerOrWaitFired: boolean); stdcall;
begin
{do what ?}
end;
最终更新: 所有这些东西(
TThread.Synchronize
、TThread.Queue
、PostThreadMessage
等)都是通过消息来工作的。因此,请确保您的 dll
的宿主应用程序在等待回调时处理消息。
TThread.Synchronize(qt.SendEvent)
。该错误提示表明,在Delphi XE2中,对于TThread.Synchronize
的受保护成员,您无法在此处进行访问。具体地说,它位于代码行TThread.Synchronize(qt.SendEvent)
。 - user2091150TMonitor.Exit(ThreadLock);
时,它从未能够成功执行。 - user2091150