salut
Dans une application , je souhaite la fermer en utilisant la petite croix en heut a droite , cela fonctionne sur la premiere Form mais pas sur les autres , pk et comment y remedier ?
merci d avance de vos reponses
salut
Dans une application , je souhaite la fermer en utilisant la petite croix en heut a droite , cela fonctionne sur la premiere Form mais pas sur les autres , pk et comment y remedier ?
merci d avance de vos reponses
La petite croix en haut à droite, utilise l'evenement OnCLose de sa form.
Si tu est toujours dans le meme projet que precedement, je te dirai que pour quitter ton application ( vu que ta Form1 est ta form principal) :
lanonyme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void __fastcall TfrmPrincipal::FormClose(TObject *Sender, TCloseAction &Action) { Form1->Close() ; }
Dans les autres tu mets sur l'événement OnClose
ex pour Form2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action) { Application->Terminate(); }
Site : http://chgi.developpez.com
Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)
Quel est la difference entreet
Code : Sélectionner tout - Visualiser dans une fenêtre à part Form1->Close();??
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application ->Terminate();
Si vous êtes dans une méthode de la classe principale Form1, il est inutile de préfixer l'instruction par Form1->, on écrit simplement Close().Envoyé par nemo69500
Sinon, il semble qu'Application ->Terminate() soit quelque chose de plus violent que le normal Close(). On peut utiliser la première syntaxe n'importe où dans le code, en pleine boucle, par exemple, si une erreur est survenue. Alors que Close() est une fin normale d'exécution.
Je ne relate ici que mon expérience propre, si quelque autre expert pouvait confirmer, voire ajouter un détail, ce serait bien.
À bientôt
Gilles
L'appel de Application->Terminate() ne provoque pas l'appel de l'évènement OnClose. J'ai constaté qu'avec Application->Terminate(), ça ne provoque pas d'erreur si des fenêtres modales sont ouvertes, contrairement à FormClose().
Et la fonction abort(); ? Elle fait quoi de plus que le Terminate();
merci
Partager