PythonGreg
Messages postés68Date d'inscriptionjeudi 3 novembre 2011StatutMembreDernière intervention 6 février 2015
-
6 févr. 2015 à 03:34
cs_yanb
Messages postés271Date d'inscriptionlundi 27 octobre 2003StatutMembreDernière intervention 7 juillet 2022
-
6 févr. 2015 à 12:10
Bonjour a tous,
Me voila confronté à un problème : à la fermeture du programme un message d'erreur apparait "runtime error 216 at" aucune idée d'où ça peut venir ? :-( c'est la première fois que sa me le fait
Voici le code utiliser pour l'envoie d'un e-mail
procedure TForm1.BtnEnvoyerClick(Sender: TObject);
begin
IdSMTP.host := 'smtp.gmail.com' ;
IdSMTP.username := 'greg.ory51.gp@gmail.com';
IdSMTP.Password := '******';
IdSMTP.port := 587;
IdSMTP.UseTLS := utUseExplicitTLS;
with IdSSLGMail do
begin
SSLOptions.Mode := sslmClient;
SSLOptions.Method:= sslvTLsv1;
SSLOptions.VerifyDepth := 0;
SSLOptions.VerifyMode := [];
Host := IdSMTP.Host;
Port := IdSMTP.Port;
PassThrough := True;
IdSSLGMail.StartSSL;
end;
with IdMessage do
begin
From.address := 'greg.ory51.gp@gmail.com';
CClist.EMailAddresses := Adr.Text;
Subject := Sujet.Text;
Body.Clear;
Body.Add(Msg.Text);
end;
try
IdSMTP.Connect;
IdSMTP.Authenticate;
try
idSMTP.Send(IdMessage);
ShowMessage('Message envoyé');
except on E:Exception do
Log.Lines.Insert(0, 'ERROR: ' + E.Message);
end;
finally
if idSMTP.Connected then idSMTP.Disconnect;
end;
idSMTP.Disconnect;
IdLogEvent.Active := false;
end;
J'ai aucun problème d'envois de mail.
libeay32.dll & ssleay32.dll sont bien dans le répertoire de l'application.
j'ai du mal a comprendre pourquoi ce message d'erreur ? c'est la premièrer fois que j'ai ce problème de fermeture d'application.
"Runtime error 216 sur des PC équipés de processeur Intel P4" J'ai un processeur AMD multicore 4.40 Ghz en 8 coeurs est pas de Intel P4
Salut,
A la fermeture du programme ou à la fin de la procédure ?
Autre truc si tu disconnect une fois, est-ce que la dll aime un deuxième disconnect ? Peut-être en supprimer un ou...
... finally if idSMTP.Connected then idSMTP.Disconnect; end; if idSMTP.Connected then //Ajout idSMTP.Disconnect; ...
IdLogEvent as tu essayé de le Free avant la fermeture du programme pour couper les liens ?
Un truc tout con dans ton source projet ajoute pour les fuites mémoires
ReportMemoryLeaksOnShutdown := True;
Ensuite les dll sont elles à jour ?
Si tu utilises idSMTP.UseTLS je me demande si il ne faut pas un idSMTP.IOHandler...mais est-il supporté ?...As tu mis des points d'arrêt pour savoir quelles procédures provoque l'erreur ? Avant le OnClose ? OnCloseQuery ? OnDestroy ? Voici de l'eau à ton moulin :p
@+