TAnimate - Trava ao executar uma operação
Salve!!!
Tenho uma rotina para envio de email usando o indy + delphi7, O envio de email esta funcionando normal o meu problema é que quando mando enviar o email .... a animação do componente TAnimate para .... ela simplesmente trava, fica parada até que o email seja enviado .... depois ela volta a funcionar. Já tentei fazer assim:
Mas nao resolveu, continua travando o TAnimate.
alguem sabe o que posso fazer para resolver???
valewsss
Tenho uma rotina para envio de email usando o indy + delphi7, O envio de email esta funcionando normal o meu problema é que quando mando enviar o email .... a animação do componente TAnimate para .... ela simplesmente trava, fica parada até que o email seja enviado .... depois ela volta a funcionar. Já tentei fazer assim:
Application.ProcessMessages;
smtp.Connect;
try
smtp.Send( mensagem );
FreeAndNil( newText );
FreeAndNil( newAttach );
smtp.Disconnect;
except
on e : Exception do MessageDlg( ´Erro ao tentar enviar o email. :´ + e.Message, mtInformation, [mbOK], 0 );
end;
Mas nao resolveu, continua travando o TAnimate.
alguem sabe o que posso fazer para resolver???
valewsss
Mmoreira
Curtidas 0
Respostas
Massuda
18/11/2005
Se o ´smtp´ em seu código for um TIdSMTP do Indy, coloque também no form um componente TIdAntiFreeze (normalmente na aba Indy Misc).
GOSTEI 0
Michael
18/11/2005
Olá!
[b:ebf9204839]ProcessMessages [/b:ebf9204839]não funciona neste caso pq o lag está no método [b:ebf9204839]Send[/b:ebf9204839]. A solução seria enviar o email de dentro de uma thread.
[]´s
[b:ebf9204839]ProcessMessages [/b:ebf9204839]não funciona neste caso pq o lag está no método [b:ebf9204839]Send[/b:ebf9204839]. A solução seria enviar o email de dentro de uma thread.
[]´s
GOSTEI 0
Mmoreira
18/11/2005
Massuda,
Eu coloquei o TIdAntiFreeze e nao adiantou muito, a animação continua travando ....
Michel,
Bom eu nao saco nada de thread, vou dar uma pesquisada no forum e ver o que consigo ...
valews
Eu coloquei o TIdAntiFreeze e nao adiantou muito, a animação continua travando ....
Michel,
Bom eu nao saco nada de thread, vou dar uma pesquisada no forum e ver o que consigo ...
valews
GOSTEI 0
Massuda
18/11/2005
Eu coloquei o TIdAntiFreeze e nao adiantou muito...
Você tem algum processamento adicional sendo feito durante o envio do email (por exemplo, barra de progresso)?GOSTEI 0
Martins
18/11/2005
Olá!
[b:0314e39111]ProcessMessages [/b:0314e39111]não funciona neste caso pq o lag está no método [b:0314e39111]Send[/b:0314e39111]. A solução seria enviar o email de dentro de uma thread.
[]´s
Concordo com vc garotinho...
TMailThread = class( TThread ) protected procedure Execute; override; end; ..... procedure TMailThread.Execute; begin {Seus códigos.... } ..... end;
Depois vc faz a chamada a sua Thread.
Michael passa no fórum do ArapuKa.
Um Abraço
GOSTEI 0
Mmoreira
18/11/2005
Massuda
Eu nao tenho nenhum outro processo junto com:
try
smtp.Send( mensagem );
Um pouco antes de enviar o email eu abro um ClientDataSet com poucos registros.
Martins,
Estou dando uma estudada sobre thread ...
Tenho que resolver isso o quanto antes.
valews
Eu nao tenho nenhum outro processo junto com:
try
smtp.Send( mensagem );
Um pouco antes de enviar o email eu abro um ClientDataSet com poucos registros.
Martins,
Estou dando uma estudada sobre thread ...
Tenho que resolver isso o quanto antes.
valews
GOSTEI 0