同意小虫的, 其实delphi在创建线程时都说明了的, 当在线程里调用vcl或者clx的对象的方法和属性时要用Synchronize加函数的方式, 那样大概表示同步的意思吧 { Important: Methods and properties of objects in VCL or CLX can only be used in a method called using Synchronize, for example, Synchronize(UpdateCaption); and UpdateCaption could look like, procedure Tqqqq.UpdateCaption; begin Form1.Caption := 'Updated in a thread'; end; }
procedure ShowMsg;
begin
ShowMessage(FMsg);
end;用在显示提示的时候先把FMsg赋值,然后Synchronize(ShowMsg);即可正常显示
如:FMsg := '发生异常';
Synchronize(ShowMsg);
其实delphi在创建线程时都说明了的,
当在线程里调用vcl或者clx的对象的方法和属性时要用Synchronize加函数的方式,
那样大概表示同步的意思吧
{ Important: Methods and properties of objects in VCL or CLX can only be used
in a method called using Synchronize, for example, Synchronize(UpdateCaption); and UpdateCaption could look like, procedure Tqqqq.UpdateCaption;
begin
Form1.Caption := 'Updated in a thread';
end; }