在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Delphi Thread线程错误:Canvas doesn't allow drawing 错误原因:在使用Thread线程时,所有UI界面的代码都要进行同步,否则,就会出现这个错误。 解决方法: TThread.Synchronize();
Synchronize 源码: procedure TThread.Synchronize(Method: TThreadMethod);
begin
FSynchronize.FThread := Self;
FSynchronize.FSynchronizeException := nil;
FSynchronize.FMethod := Method;
Synchronize(@FSynchronize);
end;
class procedure TThread.Synchronize(AThread: TThread; AMethod: TThreadMethod);
var
SyncRec: TSynchronizeRecord;
begin
if AThread <> nil then
AThread.Synchronize(AMethod)
else
begin
SyncRec.FThread := nil;
SyncRec.FSynchronizeException := nil;
SyncRec.FMethod := AMethod;
TThread.Synchronize(@SyncRec);
end;
end;
class procedure TThread.StaticSynchronize(AThread: TThread; AMethod: TThreadMethod);
begin
Synchronize(AThread, AMethod);
end;
创建时间:2020.10.13 更新时间:
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论