Thread anônima no Delphi, com envio de exceção para thread principal
Atualizado em: 12/06/2023
Adicione o componente TApplicationEvents, e coloque-o para gerenciar as exceções da aplicação através do evento OnException.
Exemplo de código:
procedure TForm1.Button1Click(Sender: TObject);
var
Thread: TThread;
begin
Thread.CreateAnonymousThread(
procedure
begin
try
TThread.Synchronize(nil,
procedure
begin
Form1.Caption := 'XPTO';
end);
raise Exception.Create('Error Message');
except
on E: Exception do
begin
TThread.Synchronize(nil,
procedure
begin
ApplicationEvents1Exception(TObject(TThread), E);
end);
end;
end;
end).Start;
end;