Salut à tous,
Voila j'envoie un mail avec le TIdSMTP, et je voulais affiché la progression avec un TGauge, donc j'ai déclaré dans la var :
1 2 3 4 5
|
var
Form1: TForm1;
MaxSize : Integer;
TempsDebut,Temps : Dword; |
Puit j'ai écrit comme code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
procedure TForm1.IdSMTP1Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);
begin
TempsDebut := GetTickCount;
Gauge1.Progress := Round(AWorkCount / MaxSize * 100);
Application.ProcessMessages;
end;
procedure TForm1.IdSMTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
Temps := GetTickCount;
MaxSize := AWorkCountMax;
Gauge1.Progress := 0;
end; |
Le problème c'est qu'il me dit comme erreur quant j'envoie le mail :
Le projet xxxx a provoqué une classe d'exception EZeroDivide avec le message 'Division par zéro en virgule flotante'.
Processus stoppé. Utilisez Pas-à-pas ou Exécuter pour continuer.
Pour la ligne suivante
Gauge1.Progress := Round(AWorkCount / MaxSize * 100);
Merci d'avance.
Partager