Comment quitter proprement une application delphi?
Bonjour,
Je viens de créer une application avec Delphi7 perso.
Pas de problèmes avec l'application sous Delphi, mais qd je lance l'application hors environnement Delphi j'ai des problèmes pour quitter l'application;
ni la croix rouge en haut à gauche, ni le menu Quitter qui me mène soit à close, soit à application.terminate, aucun ne fonctionne de manière sûre. Parfois oui, parfois non et dans ce cas je n'ai plus qu'à utiliser Ctrl alt del.
Quelqu'un a-t-il une idée?
merci.
finir un programme proprement
pour eric et paul
mon programme n'utilise pas de thread
Sa taille environ 3000 lignes
La plupart du temps il attend une action de l'opérateur
( touche sur une bouton ou autre ]
L'action finir le programme peut arriver dans une boucle d'attente
J'ai essayé application.destroy qui marche mais qui n'est pas propre et qui laisse des traces dans la mémoire de l'ordinateur.
(plus possible de compiler après avec le message 'impossible de créer le fichier xxx.exe')
Il doit y avoir le moyen de fermer toutes les demandes en cours et terminer proprement
merci de votre aide
suite a finir un programme proprement
pour eric j'ai en effet créer un menu déroulant avec un sous-menu quitter
et avec quitter1.click, j'ai essayé
- close
- application.terminate
-application.destroy
merci
quitter proprement résolu
après avoir essayer 10000 trucs j'ai enfin trouvé la solution.
Mon prgramme contenait de multiples boucles d'attente d'un événement (clic)
du style
Code:
1 2 3
| repeat
Application.ProcessMessages;
until ClicArrive; |
Lorsque le programme tourne dans cette boucle il ne répond pas aux sollicitation de quitter.
J'ai modifié en ajoutant un flag de sortie forcé, dans toutes mes boucles:
Code:
1 2 3
| repeat
Application.ProcessMessages;
until ClicArrive or DemandeSortie; |
et je positionne DemandeSortie à True dans ma procédure Quitter1.clic.
Il me semble que celà marche.
merci à tous
ps quelqu'un pourrait-il flagger le problème comme résolu, je ne vois pas le bouton qui va bien
[EDIT] C'est le bouton résolu :resolu: en bas de la discussion !