procedure HandleEvent(ASynchronizedEvents: Boolean; AThreadProc: TThreadProcedure);
begin
if ASynchronizedEvents and Assigned(WakeMainThread) and
(System.MainThreadID <> TThread.CurrentThread.ThreadID) then
TThread.Synchronize(TThread.CurrentThread, AThreadProc)
else
AThreadProc;
end;
procedure TMyDllForm1.Button6Click(Sender: TObject);
begin
// 备用代码
TThread.CreateAnonymousThread(
procedure
var i:integer;
begin
for I := 1 to 100 do
begin
sleep(100);
HandleEvent(false,
procedure
begin
Label3.Caption:=i.ToString;
end);
end;
end).Start;
end;