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
Rejoignez-nous