Synchronize = synchrone Synchronisierung
Queue = asynchrone Synchronisierung
Delphi-Quellcode:
try
//...
except
on E:
Exception do begin
S := E.
Message;
//TThread.Queue(nil, procedure // in Threads ohne eine TThread-Instanz, bzw. ohne direkten Zugang dazu
Queue(
procedure // in einer TThread-Instanz
begin
ShoweMessage(S);
end);
end;
end;
Man könnte statt dem ShowMessage auch ShowException verwenden, aber dann muß man bei asyncrhoner Anzeige entweder das ExceptObject klonen oder es von der Exceptionbehandlung abtrennen und anschließend natürlich manuell freigeben.
Ein Therapeut entspricht 1024 Gigapeut.