经试验可以在dll工程文件中加入以下语句 :
Application.Initialize;
if Application.Handle = 0 then
begin
Application.CreateHandle;
end;
Application.Run;
解决线程中使用Synchronize 假死的问题,或者在线程中直接使用SendMessage替代Synchronize同步。
原因在于若工程文件是DLL而不是EXE的话,Application默认不创建窗口句柄,因此Synchronize向Application发送消息根本无法响应,手动创建句柄,并让其进入消息循环状态可以解决