我不想在当前的processmessage循环中执行当前指令,而是在下一个processmessage循环中执行它。他们是一个很好的方法吗? TThread.queue接缝是我正在寻找的东西,除了TThread.queue不能从主线程执行:(如果它的问题,我也在firemonkey下面
答案 0 :(得分:8)
TThread.Queue()
只有在工作线程中调用时才是异步。在主线程中调用TThread.Queue()
时,它是同步的,而不是 1 。
要执行您要求的操作,您可以使用TThread.CreateAnonymousThread()
或TTask.Run()
创建一个工作线程,然后调用TThread.Queue()
。
1 :请在RSP-15427 Add an option to let TThread.Queue() run asynchronously when called by the main UI thread上投票。