gpt4 book ai didi

delphi - 如何在主线程中执行不基于 TThread 的线程?

转载 作者:行者123 更新时间:2023-12-03 15:09:14 31 4
gpt4 key购买 nike

例如,来自 CreateTimerQueueTimer 回调提供的线程在可执行文件或dll中?与主线程具有相同的线程 ID 很重要。

procedure TMyMainClass.ExecuteMe(someparam: paramtype);
begin
{something}
end;

procedure TimerCallback(pvContext: pointer; fTimerOrWaitFired: boolean); stdcall;
begin
{do what ?}
end;

最终更新:
所有这些东西(TThread.SynchronizeTThread.QueuePostThreadMessage 等)都是通过消息来工作的。因此,请确保 dll 的主机应用程序在等待回调时处理消息。

最佳答案

要在主线程中执行代码,而不访问 TThread 实例,请调用类方法 TThread.SynchronizeTThread.Queue .

如果您碰巧使用的是没有这些方法的旧 Delphi 编译器,那么带有用户定义消息的 SendMessagePostMessage 是最简单的解决方案。

关于delphi - 如何在主线程中执行不基于 TThread 的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15856058/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com