Probleme avec Terminated

Utilisateur anonyme - 3 août 2003 à 23:29
yvemoreau Messages postés 308 Date d'inscription mardi 11 juin 2002 Statut Membre Dernière intervention 26 septembre 2008 - 27 sept. 2003 à 20:32
Bonjour.
J'utilise un thread dans mon application, et ce thread est démarré au début du programme et doit être arrêté en fin de programme.
Ce thread utilise des procédures récursives assez longues à éxecuter, et il est important de pouvoir interrompre ces procédures lorsque j'appelle MonThread.Terminate.

Le problème est que la propriété Terminate a toujours la valeur False dans ces procédures récursives, même lorsqu'elle vaut True dans le contexte de Thread.Execute (ce qui me permet quand même d'arrêter mon thread, mais seulement lorsqu'un des procédures récursives est terminée).
En revanche, Delphi semble bien "comprendre" que le mot Terminated est une propriété du thread et pas une variable, et cela même dans le contexte des procédures récursives, puisque je n'ai pas de message d'erreur indiquant "identificateur non déclaré".

Quelqu'un a-t-il une solution a ce problème ?

1 réponse

yvemoreau Messages postés 308 Date d'inscription mardi 11 juin 2002 Statut Membre Dernière intervention 26 septembre 2008
27 sept. 2003 à 20:32
peut-être ceci

Windows.pas

ExitThread(dwExitCode:DWORD);
-touts les objets handles ouvert par le thread sont fermé
-touts thread démarré par le thread sont terminé
-l'état du thread devient signalé
-l'état des thread créé par le thread deviennent signalé
-le status est changé par la valeur dword envoyé

exemple :ExitThread(4);

ExitProcess(uExitCode :UINT);
-touts les objets handles ouvert par le process sont fermé
-touts thread ouvert par le process sont fermé
-l'état du process devient signalé
-l'état des thread créé par le process deviennent signalé
-le status est changé par la valeur uExitCode envoyé

exemple :Windows.ExitProcess(10);

yve
0
Rejoignez-nous