Runtime error 216 at ...

PythonGreg Messages postés 68 Date d'inscription jeudi 3 novembre 2011 Statut Membre Dernière intervention 6 février 2015 - 6 févr. 2015 à 03:34
cs_yanb Messages postés 271 Date d'inscription lundi 27 octobre 2003 Statut Membre Derniè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

Merci pour votre réponse.

1 réponse

cs_yanb Messages postés 271 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 7 juillet 2022 14
Modifié par cs_yanb le 6/02/2015 à 12:14
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
@+
0
Rejoignez-nous