PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Dúvida usando TThread #484513

04/07/2014

0

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:


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

Itamar Souza

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar