Petit problème avec showmodal

Youyou0214
Messages postés
89
Date d'inscription
jeudi 11 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2003
- 12 mai 2002 à 01:03
DeltaFX
Messages postés
449
Date d'inscription
lundi 19 avril 2004
Statut
Membre
Dernière intervention
8 avril 2009
- 23 janv. 2005 à 22:03
Salut tout le monde,
j'ai un problème avec showmodal, quand je suis dans une form je veux passer à une autre et faire disparaître celle dans laquelle je suis, je fais:
begin
form1.visible:=false;
form2.showmodal;
end;
ok là, sa marche après quand je suis sur cette deusième form (form2) je veux revenir sur l'ancienne en faisant disparaître celle que je viens d'ouvrir:
begin
form1.visible:=true;
form2.visible:=false;
end;
OK là sa marche aussi mais quand je fais ces opération à la suite et que je refais la première après (form1.visible:=false...) sa ne marche plus et sa me dit "impossible de rendre modale une fenêtre visible."
Que dois-je faire?
j'éspère que j'ai été assez clair dans mon expliquation;-)

11 réponses

cs_Gysmo
Messages postés
209
Date d'inscription
lundi 11 février 2002
Statut
Membre
Dernière intervention
13 décembre 2002

12 mai 2002 à 01:33
Hmm c'est bizard...

Pourquoi ne fais tu pas simplement

begin
Form1.Visible:=False;
Form2.ShowModal;
Form1.Visible:=True;
end;

Ton prob viens de Form2.visible:=False je crois.

Babaille.
0
cs_Nono40
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
2
12 mai 2002 à 11:25
Tu devrais faire Form2.Close.
Il ne vaut mieux pas en général utiliser Form.visible, sauf pour la fenêtre principale car Form.Close ferme l'application entière.

--- :sleepy) Nono du Moulin :sleepy) ---
0
Youyou0214
Messages postés
89
Date d'inscription
jeudi 11 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2003

12 mai 2002 à 15:56
En fait j'ai trouvé la solution moi même juste après avoir posté le message...arf...j'ai une autre question: je fais ouvrir un opendialog n'acceptant que les .exe puis je mes le chemin du .exe selectionné dans une listbox et j'aimerai que l'on puisse en clickant sur un des logiciels présent dans la lisbox accedé à ce logiciel
Comment dois-je procédé?
0
cs_Gysmo
Messages postés
209
Date d'inscription
lundi 11 février 2002
Statut
Membre
Dernière intervention
13 décembre 2002

12 mai 2002 à 17:09
Il faut utiliser le fameux ShellExecut de la sorte :

uses ShellApi;

begin
ShellExecute(Handle, 'open', 'tonexe.exe', nil, nil)
end;

Bon ya d'autre solution bien sur, je te livre ici la plus connu, ca marche aussi avec les autres fichiers.

Babaille.

PS: La reponse se trouvait deja sur le site.
0

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

Posez votre question
cs_Bestiol
Messages postés
833
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
1
12 mai 2002 à 22:35
Au cas où, comme tu n'as pas précisé si tu as besoin de savoir comment récupérer le chemin de l'exe cliqué dans la listbox, voici le truc :

uses ShellApi;

Var Fichier: String;

begin

Fichier := ListBox1.Items.Strings[ListBox1.ItemIndex];
ShellExecute(Form1.Handle, 'open', Fichier, nil, nil);
end

@+
Bestiol.
0
Youyou0214
Messages postés
89
Date d'inscription
jeudi 11 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2003

13 mai 2002 à 22:04
Merci Bestiol c'est que je voulais savoir.
Et encore merci à tous ceux qui réponde dans ce forum quand on a un probème.
0
Youyou0214
Messages postés
89
Date d'inscription
jeudi 11 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2003

13 mai 2002 à 22:09
Quand je met le code
ya une érreur à cette ligne:
ShellExecute(Form5.Handle, 'open', Fichier, nil, nil);
et sa me dit type incompatibles string et PCchar
0
Youyou0214
Messages postés
89
Date d'inscription
jeudi 11 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2003

14 mai 2002 à 18:59
J'ai pas trop compris l'aide de delphi voilà mon code:

var
chemin:string;

begin
Fichier:=ListBox1.Items.Strings[ListBox1.ItemIndex];
ShellExecute(Form5.Handle, 'open', chemin, nil, nil);
end;
Que doi-je y rajouter???
merci!
0
cs_Gysmo
Messages postés
209
Date d'inscription
lundi 11 février 2002
Statut
Membre
Dernière intervention
13 décembre 2002

14 mai 2002 à 19:55
Je vais pas remettre le liens...

Babaille
0
bnn
Messages postés
1
Date d'inscription
dimanche 19 mai 2002
Statut
Membre
Dernière intervention
20 mai 2002

20 mai 2002 à 10:48
BNN

Cette suite de questions réponses me laisse sur la faim car vous dîtes avoir trouvé la solution mais sans la donner. pourriez vous me la fournir merci
0
DeltaFX
Messages postés
449
Date d'inscription
lundi 19 avril 2004
Statut
Membre
Dernière intervention
8 avril 2009
2
23 janv. 2005 à 22:03
Heu... quoter les n+1 message precédent, c'est lourd a scroller, au fait.

gnh !
0