Non réversibilité dans l'ouverture de deux forms sous Delphi

Résolu
Utilisateur anonyme - 6 août 2005 à 18:39
 Utilisateur anonyme - 7 août 2005 à 02:03
Salut à tous

Bon j'explique je suis nouveau sous Delphi avant je travaillais sous C++ donc la conversion est dure.

Voila j'ai deux forms Form1 avec un bouton "ALLER FORM2" et une FORM2 avec un bouton "ALLER FORM1".

Voila pour passer d'une FORM à l'autre je fais un hide et un showmodal. Pour aller de FORM1 à FORM2 ou de FORM2 à FORM1 pas de problème. Cependant si je fais FORM1--->FORM2 puis FORM2---->FORM1 (ou inversement) il y a un message d'erreur lors de la seconde action. Pourquoi?

5 réponses

Utilisateur anonyme
7 août 2005 à 02:03
Merci c'est bon petite conclusion maison pour aider les debutants



Passer d'une Forme 1 principale à une Form 2 de façon réversible



Form1 Form2
-------------------- ------------------------
- BTF1 - - BTF2 - BTF1 = bouton Form 1

- - - - BTF2 = bouton Form 2

- - - -

- - - -

- - - -

- - - -
-------------------- ------------------------

procedure TForm1.Button1Click(Sender: TObject);
begin
form1.hide;
form2.show;

procedure TForm2.Button1Click(Sender: TObject);
form2.hide;
form1.show;


Pas besoin de terminate sauf pour arreter mon programme si je veux. J'écris donc
procedure TForm1.Button2Click(Sender: TObject);//2ieme bouton dans la Form1
begin
Application.Terminate;
end;
end. //Et oui c'est le point ici et nont le point virgule (j'ai la faute tout à l'heure (20min à perdre son temps grrrrrrrrrrr)).
3
walid2876 Messages postés 49 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 31 août 2008
7 août 2005 à 00:59
fautes de 'impossible de rendre modal une fenetre visible '
Fais un petit raisonnement
form1.hind;
form2.showmodal;
ce fais exactement bien et ensuite
form2.hind;
form1.showmodal;
tu vois bien que la form2 est encord visible tout simplement elle est modal c en fais :
form1.hind;
form2.showmodal;.....c'est la l'erreur .....la fenetre est toujours visible
on peut pas la rendre modal;
2- pourquoi faire form1.showmodal c la fenetre principale elle ne doix pas etre modal ça n'as aucaun sens
3 - pourquoi form2.hide c mieux faire form2.close
donc ça fais comme ça
form1.hide;
form2.showmodal;
et dans unit2 :
form2.close;
form1.show;
et n'oublie pas si ferme form2 avec le button susyem de fermeture le programme ne s'arrete pas et la fenetre reste invisble donc dans l'evenement on close de form2 met application.terminate;
0
walid2876 Messages postés 49 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 31 août 2008
7 août 2005 à 01:12
Fais dans Onclose de form2 ---> form1.show
c mieux et enlever la syntaxe

, systeme , et je veux agrendie mes connaissance de programmation reseaux et net
0
walid2876 Messages postés 49 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 31 août 2008
7 août 2005 à 01:14
et enlever form1.show dans buttonclick de form2
je comprent pas pourquoi tu veux faire tout ça?
0

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

Posez votre question
Utilisateur anonyme
7 août 2005 à 01:40
La réponse est simple je fais un programme Walid ou j'ai une fenetre principale Form1 qui a plusieurs boutons dont l'un est Form2. Dans Form2 j'ai un bouton Form 3 et un bouton Form2 . Je veux simplement pouvoir basculer d'une fenêtre à une auter (j'en 5 fenêtres en fait).


Voilà merci puur tout.
0
Rejoignez-nous