bonjour,

J'utilise la classe TClientSocket (dans System.Win.ScktComp) avec laquelle je suis confronté à un problème lorsque je détruit l'objet.

Je créé le socket par:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 ClientSocket1        := TClientSocket.Create(nil);
 ClientSocket1.OnError:= ClientSocket1Error;
 ClientSocket1.Host := '192.168.0.1';
 ClientSocket1.Port := 502;
 ClientSocket1.Active:=true;
Je le détruit par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ClientSocket1.Close;
ClientSocket1.free;
Dans mon cas l'adresse IP n'existe pas et donc lorsque je détruit l'objet, le thread qui a été créé par l'API n'est pas détruit et alors une exception apparait quelques secondes après la destruction du socket :

Exception 'first chance' à $00000000. Classe d'exception $C0000005 avec un message 'access violation at 0x00000000: read of address 0x00000000'. Processus MyAPP.exe (5452)


Si quelqu'un a une idée pour détruire le thread du socket en même temps qu'on détruit le socket ??

En revanche je n'ai pas de problème lorsque je quitte mon application.
Merci
Franck