Fermer une fenêtre de form [Résolu]

xt3
Messages postés
23
Date d'inscription
mardi 10 janvier 2006
Dernière intervention
13 février 2006
- 2 févr. 2006 à 11:09 - Dernière réponse : jlen100
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
- 2 févr. 2006 à 20:59
Salut,

J'ai créer un programme de rapport d'erreurs,je voudrais qu'à la fin du
code la fenetre du code (form) se ferme automatiquement sans avoir a
cliquer sur quoi que ce soit.

Est-ce que quelqu'un aurait une idée ?
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
jlen100
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
- 2 févr. 2006 à 11:16
3
Merci
salut,

si j'ai bien compris tu voudrais que ton programme se ferme
automatiquement dans ce cas à la fin du traitement tu mets
Application.terminate;



@+

jlen

Merci jlen100 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de jlen100
Meilleure réponse
jlen100
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
- 2 févr. 2006 à 14:45
3
Merci
-->cirec delphi autorise l'uitilsation de Application.terminate voici ce que dit l'aide:

Syntaxe Delphi :



procedure Terminate;



Description



Appelez Terminate pour terminer par programme l'exécution d'une
application. En appelant Terminate au lieu de libérer l'objet
application, vous permettez à l'application de s'arrêter d'une manière
plus ordonnée.



Terminate appelle la fonction PostQuitMessage de l'API Windows pour
effectuer la fermeture de l'application. Terminate n'agit pas
immédiatement.



Terminate est appelée automatiquement quand il y a un message WM_QUIT ou quand la fiche principale est fermée.



il me semble que dans ce cas c'est la meilleure façon bien que form.close fasse la même chose



@+

jlen

Merci jlen100 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de jlen100
xt3
Messages postés
23
Date d'inscription
mardi 10 janvier 2006
Dernière intervention
13 février 2006
- 2 févr. 2006 à 11:26
0
Merci
Super ça marche !

Merci pour ton aide

@+++
Commenter la réponse de xt3
Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 2 févr. 2006 à 14:34
0
Merci
je pensais qu'il ne fallait pas appeler directement Application.Terminate , pour fermer une form l'instruction Close suffit amplement elle ferme la form courrente et si c'est la form principale dans ce cas c'est l'application qui se ferme

@+
Cirec
Commenter la réponse de Cirec
Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 2 févr. 2006 à 14:53
0
Merci
ah , encore une chose d'appris, je doit confondre avec autre chose puisqu'il me semblait que Terminate n'appelait pas l'évenement OnClose de la Form. Mais il est claire que je suis dans l'erreur.
Merci à toi jlen pour l'information

@+
Cirec
Commenter la réponse de Cirec
jlen100
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
- 2 févr. 2006 à 15:23
0
Merci
pas de quoi.

Chaque jour on apprend tous quelque chose sur ce site!!

je pense que tu confonds avec la methode destroy ou la methode Free (aide delphi:

N'appelez jamais Application.Destroy ou Application.Free. Utilisez à
la place la méthode Terminate de l'application pour terminer
l'application.







@+

jlen
Commenter la réponse de jlen100
Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 2 févr. 2006 à 15:32
0
Merci
Oui c'est possible, il me restait un bout d'information dans la tête, mais j'ai fait une mauvaise association avec.
On a pas fini d'en apprendre et dans tous les domaines et tout au long de notre vie ça au moins j'en suis sûr

@+
Cirec
Commenter la réponse de Cirec
jlen100
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
- 2 févr. 2006 à 15:36
0
Merci
pour citer Jean Gabin dans une chanson : à la fin de sa vie "tout ce que je sais c'est que je ne sais rien"



@+

jlen
Commenter la réponse de jlen100
DeltaFX
Messages postés
459
Date d'inscription
lundi 19 avril 2004
Dernière intervention
8 avril 2009
- 2 févr. 2006 à 20:35
0
Merci
Otez moi d'un doute, si on fait un Application.terminate dans la form principale d'un prog, le OnClose est bien exécuté, ainsi que les OnClose des forms secondaires ?
Commenter la réponse de DeltaFX
Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 2 févr. 2006 à 20:45
0
Merci
Bon

Alors avis à tous ceux qui ont un doute
j'ai fait les testes et Application.Terminate n'appel pas l'évenement OnClose de la Form
Faites le teste vous même si vous mettez dans FormClose un truc du genre SavetoFile où tout autre chose ces commandes là ne seront pas exécutés

@+
Cirec
Commenter la réponse de Cirec
jlen100
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
- 2 févr. 2006 à 20:54
0
Merci
Application .Terminate termine l'appliaction en liberant la mémoire et
les thread en cours mais il n' appelle pas les onclose (c'est le
onclose qui appelle de la form principal qui appelle
Application.Terminate) aps plus que le on close de la form principal
appelle le onclose des form secondaires



@+

jlen
Commenter la réponse de jlen100
Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 2 févr. 2006 à 20:58
0
Merci
ça comfirme donc ce que je disais il est préférable de quitter l'Application avec un simple Close

@+
Cirec
Commenter la réponse de Cirec
jlen100
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
- 2 févr. 2006 à 20:59
0
Merci
pour que les onclose de formes secondaires soient appeler il faut les fermer explicitement par formXX.close

@+

jlen
Commenter la réponse de jlen100

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.