Dúvida usando TThread
Tenho uma TThread para enviar e-mail, estou tendo um erro quando fecho o formulário, se a mesma estiver em execução, o erro é : “System Error. Code: 1400. O identificador da janela é inválido”. Observei que dentro do Processo.TEnviarEmail eu preciso adicionar o nome do formulário, mesmo a TThread estando localmente então se eu fechar a aplicação o formulário não vai existir e então vai dar erro. Alguém tem alguma ideia de como resolver é possivel suspender a execução?
Ex:
Ex:
type
Processo = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
procedure TEnviarEmail;
end;
procedure TfrmPrincipal.BitBtn1Click(Sender: TObject);
var
ExecutarProcesso :Processo;
begin
ExecutarProcesso := Processo.Create(False);
ExecutarProcesso.FreeOnTerminate := true;
end;
procedure Processo.Execute;
begin
TEnviarEmail;
end;
procedure Processo.TEnviarEmail;
begin
//ex parte do código:
//indica quem está enviando a mensagem
frmPrincipal.IdMessage1.Subject := '(TThread)- Email automático . ' + ' em ' + FormatDateTime('dd/mm/yyyy hh:mm', Now);
frmPrincipal.IdMessage1.Sender.Name := 'mmmmm';
frmPrincipal.IdMessage1.Sender.Address := 'xxxxxx@xxxxxx.com.br';
frmPrincipal.IdMessage1.From.Name := 'xxxxxx';
end;
Itamar Souza
Curtidas 0