Fermer une fenêtre de form

Résolu
xt3 Messages postés 23 Date d'inscription mardi 10 janvier 2006 Statut Membre Dernière intervention 13 février 2006 - 2 févr. 2006 à 11:09
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre 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 ?

13 réponses

jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
2 févr. 2006 à 11:16
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
3
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
2 févr. 2006 à 14:45
-->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
3
xt3 Messages postés 23 Date d'inscription mardi 10 janvier 2006 Statut Membre Dernière intervention 13 février 2006
2 févr. 2006 à 11:26
Super ça marche !

Merci pour ton aide

@+++
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
2 févr. 2006 à 14:34
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
2 févr. 2006 à 14:53
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
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
2 févr. 2006 à 15:23
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
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
2 févr. 2006 à 15:32
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
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
2 févr. 2006 à 15:36
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
0
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
2 févr. 2006 à 20:35
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 ?
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
2 févr. 2006 à 20:45
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
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
2 févr. 2006 à 20:54
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
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
2 févr. 2006 à 20:58
ça comfirme donc ce que je disais il est préférable de quitter l'Application avec un simple Close

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

@+

jlen
0
Rejoignez-nous