cs_linux21
Messages postés24Date d'inscriptionmercredi 17 janvier 2007StatutMembreDernière intervention19 juin 2007
-
11 juin 2007 à 15:30
lofo18
Messages postés30Date d'inscriptionmardi 19 avril 2005StatutMembreDernière intervention29 septembre 2010
-
4 juil. 2007 à 09:57
Bonjour bonjour, voilà j'aimerai tester si une fiche est ouverte avant d'ouvrir la seconde ?!
petit exemple concret:
procedure TF_Principale.xxxxxxxxClick(Sender: TObject);
begin
if tf_yyyyyyyy.???? then // comment tester si yyyyy est ouvert ?
begin
tf_yyyyyyyy.close;
end
application.createform(tf_xxxxxxxx, f_xxxxxxxx);
f_xxxxxxxx.show;
end;
cs_linux21
Messages postés24Date d'inscriptionmercredi 17 janvier 2007StatutMembreDernière intervention19 juin 2007 11 juin 2007 à 16:16
j'aurai voulu automatiser le tout et faire qque chose de propre en fait.
procedure TF_Principale.FactureClick(Sender: TObject);
begin
if F_GestionDevis.Showing = true then
begin
F_GestionDevis.Close;
end;
application.createform(tf_facture, f_facture);
f_facture.show;
end;
Pourquoi ça marche pas comme ça ?
ps: ma touche f1 marche pas, ça tente de dl qqchose sur le net mais ça veut pas :S
Oniria
Messages postés292Date d'inscriptiondimanche 14 mars 2004StatutMembreDernière intervention18 décembre 20143 11 juin 2007 à 16:29
Bonjour,
Pourquoi faire de la création dynamique de f_facture?
Autant laisser delphi créer la fiche dés le début. Je pense que c'est ton create qui ne fonctionne pas
Bon courage
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_linux21
Messages postés24Date d'inscriptionmercredi 17 janvier 2007StatutMembreDernière intervention19 juin 2007 11 juin 2007 à 16:37
dynamique ? bon j'ai du mal m'exprimer. je reprends :
Application MDI, deux feuilles MDIChild : Facture et devis. En fait je voulais que chaque fois qu'on ouvre une d'elle, ça ferme l'autre. Tout ça pour éviter d'ouvrir plusieurs feuilles de chaque. Je m'y prend peut-être pas du tout comme il faut..
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 11 juin 2007 à 17:24
procedure TMainForm.ClickOpenFactureForm(Sender : TObject);
begin
DevisForm.Hidde; { cache devis }
FactureForm.Reset; { procedure qui reinitialise l'etat de FactureForm }
FactureForm.Show; { affiche facture }
FactureForm.BringToFront; { met au premier plan facture }
end;
procedure TMainForm.ClickOpenDevisForm(Sender : TObject);
begin
FactureForm.Hidde; { cache facture }
DevisForm.Reset; { procedure qui reinitialise l'etat de DevisForm }
DevisForm.Show; { affiche devis }
DevisForm.BringToFront; { mets au premier plan devis }
end;
cs_linux21
Messages postés24Date d'inscriptionmercredi 17 janvier 2007StatutMembreDernière intervention19 juin 2007 11 juin 2007 à 18:40
access violation. Je pense que ça vient du fait que vu que devis n'est pas forcément lancé, toi tu tente de cacher quelque chose qui n'existe pas encore. C'est la tout mon problème, faire une condition pour voir si la fiche existe. Mais showing me renvoie un message d'erreur. A moins que l'erreur ne vienne pas de là mais bon...
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 12 juin 2007 à 13:55
On peut pas.
Si tu avais recherché un peu tu serais tombé sur une de mes réponses :
<hr size="2" width="100%" />Je ne pense pas qu'en Delphi on puisse, comme en VB, continuer le
programme comme si ne rien n'était s'il arrive une erreur et cela
parait logique (le role du developpeur est aussi (et essentiellement)
de débugger ses programmes pour qu'ils ne se plantent pas).
Mais
le try..except..end est très pratique et fonctionne merveilleusement
bien. (heureusement) Tu devrais t'y mettre car en Delphi (je ne sais
pas en VB) on ne publie pas un programme à moitié défaillant : on
traite les erreurs grâce à ce magnifique try..except..end; (ou
try..finally..end qui ne fait pas le même chose).
Si c'était possible en delphi de
faire cela, le Pascal ne serait plus ce qu'il était.
<hr size="2" width="100%" />
++
cs_linux21
Messages postés24Date d'inscriptionmercredi 17 janvier 2007StatutMembreDernière intervention19 juin 2007 12 juin 2007 à 16:07
Bien je suis désolé mais aucune ne me convient :(
Je pensais que ce que je cherchais était simple, je voulais, à l'ouverture d'une MDIChild, que toutes les autres se ferment, pour ne pas avoir plusieurs feuilles ouvertes en même temps :-/
Va falloir que je trouve une autre solution je crois :(