Bonjour,
Si je compile sous l'éditeur après l'appel d'une fonction dans une DLL la compilation se poursuit avec une série de messages du type "Sortie du Thread : ID du Thread xxxx. Processus MonExe.exe(xxxxx)"
Comment arrêter ce phénomène ?
Bonjour,
Si je compile sous l'éditeur après l'appel d'une fonction dans une DLL la compilation se poursuit avec une série de messages du type "Sortie du Thread : ID du Thread xxxx. Processus MonExe.exe(xxxxx)"
Comment arrêter ce phénomène ?
Ce n'est pas une erreur. Le debugger notifie simplement les démarrages et arrêts des threads.
Manifestement, la procédure dans la DLL en crée quelques uns![]()
C'est le journal d'évènement (CTRL+ALT+V), si tu n'utilises pas OutputDebugString, tu peux le fermer
D'ailleurs ce n'est pas la compilation qui émet ces messages mais l’exécution en debug de ton module
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
J'ai décoché "outils du debogueur/Journal d'évennements/message de thread" et je n'ai plus la suite de messages.
Est-ce suffisant ?
Qu'ai-je à craindre ?
Je ne vois pas ce qui t'inquiète !
C'est une traçabilité tout à fait normal
Il faut juste que le nombre de Lancement et de Sortie soit le même !
Si le nombre est différent et que cela bloque la fermeture du programme, là tu pourras t'y intéresser
Et de toute façon, tu ne pourra agir que sur tes propres TThread, ceux interne à des DLL tiers dont tu n'es pas l'auteur, tu n'y pourras rien !
D'ailleurs, une sortie de thread indique son arrêt, donc sa fermeture, ton titre de sujet "Thread non fermé après appel fonction dans DLL" est inapproprié !
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Il y a toujours la possibilité d'énumérer les threads du processus et de les tuer (TerminateThread), mais avec toutes les conséquences que cela implique (verrouillages non libérés, crash...).
Par contre, si le thread contient une boucle de messages, un PostThreadMessage(ThreadId, WM_QUIT, 0, 0) assure un arrêt propre de la tâche (mais il pourrait toujours y avoir des dommages collatéraux).
Je dis ça en passant, mais je rejoins Shai sur le fait que le message indique que la tâche est déjà terminée![]()
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