bonjour,
j'ai lu la faq ici :
http://delphi.developpez.com/faq/?page=systemethread
et je chercherais le moyen de détruire totalement et définitivement un thread Win32, tout en libérant sa mémoire.
merci
bonjour,
j'ai lu la faq ici :
http://delphi.developpez.com/faq/?page=systemethread
et je chercherais le moyen de détruire totalement et définitivement un thread Win32, tout en libérant sa mémoire.
merci
à la fin de ta boucle de thread tu appèle ExitThread
normalement CloseHandle, nettoie tout ? non ?
j'ai tenté une fois, mais je suis vite repassé au TThread ...
Lorsque la routine threadée a finie de s'exécutée, la pile du thread est nettoyée, et cela suffit... sauf si tu as alloué dynamiquement des objets Delphi, dans ce cas, c'est comme partout, il faut les libérer (X.Free) quand tu n'en as plus besoin ;-)
et il est plus conseillé de créer un thread VCL ?
Oui. La dernière fois que j'ai utilisé un thread non-VCL remonte à 7 ans
Les threads VCL sont surs, faciles à utiliser (plus que l'utilisation de CreateThread/EndThread en tous cas) et orientés objets. La méthode Terminate et la propriété Terminated sont d'un intérêt non négligeable pour l'arrêt d'un thread.
Bref : que du bonneur.
mdr ok merci du coup je penses que je vais pas me prendre la tête
apperement ça serait ça qui serait responsable de mon problème avec les sockets que j'ai posté dans un autre topic, où j'avais une connexion sur listening qui refusait de se fermer.
enfin je vais tester avec le VCL maintenant
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager