Formulaire premier niveau et enfant .

cs_spoutnic_37 Messages postés 48 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 20 septembre 2005 - 13 juin 2005 à 16:58
cs_spoutnic_37 Messages postés 48 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 20 septembre 2005 - 14 juin 2005 à 09:02
aloha !!!

Je voudrais faire apparaitre des formulaires enfants dans un formulaire parent. Je parametre donc avec showWindow et mdiform.
Je met dans ma methode init de mon formulaire de premier niveau:

do form frm_opt_avance_bis name frmAugmentation linked noshow
do form frm_opt_avance_ter name frmRentabilite linked noshow

Normalement si g bien compris, name sert a pointer une variable sur la reference de l'objet "form" et linked sert a lier ces dernieres et fait en sorte que si la variable est fermée, la form se ferme aussi, noshow dit simplement que la form est visible=.F..
Le probleme est que les objets sont introuvables alors que do form les créé.

Comment faire pour bien créer mes formulaires, et les faire apparaitre uniquement quand j'appuirais sur un boutton ?
Pourquoi suis-je souvent obliger de metrre un read events et clear events lorsque j'utilise le mot linked ?
Est ce que un enesmble de formulaire ne serait-il pas plus approprié

(visual fox pro 6)
Merci.

3 réponses

cs_spoutnic_37 Messages postés 48 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 20 septembre 2005
13 juin 2005 à 17:12
re-aloha !!!

Pour l'enssemble de formulaire, g bien compris que c'etait plus lourd et uniquement recommandé si les formulaires ont des variables d'environnements communes, mais g egalement essayer de faire un ensemble de formulaire contenant un formulaire de premier plan et deux formulaires enfants . Ces derniers ne sont pas apparus à l'interieur du formulaire de premier plan mais dans la fenetre d'application( fenetre visual foxpro).
Comment est-ce possible puisque le showWindows et mdiform etait bien parametrées ?

Merci.
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
13 juin 2005 à 19:02
Spoutnic,

le formset, c'est utile pour partager un environnement de données privé, pas pour partager des variables d'environnement...

laisse tomber le mdiform (tu le laisses à F partout), c'est pour les versions antérieures de VFP, et remplacé par le showwindow.

Read event, ça sert à indiquer à VFP que la suite des opérations est controlée par les events (les évenements) des forms.
donc, dans ton prog de démarrage, tu dois avoir:

do form mon_form_de_premier_niveau
do form frm_opt_avance_bis name frmAugmentation linked noshow
do form frm_opt_avance_ter name frmRentabilite linked noshow
read events

et dans le click d'un commandbutton, tu vas pouvoir mettre ton frmAugmentation.show (ou .visible=.t.)


ne pas oublier de mettre un clear events dans le destroy du form de premier niveau, pour redonner la main au prg appellant (même s'il n'y a plus rien dedans, juste pour en sortir...)
0
cs_spoutnic_37 Messages postés 48 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 20 septembre 2005
14 juin 2005 à 09:02
Merci MichelAtoutFox !!!

Ca marche, en fait c parce que j'avais mis tout mon code dans les methodes de mon formulaire de premier plan. Je comprend que faire un programme qui lance toute mes forms est plus recommandé et evite de ne pas trouver mes objets form.

Merci et à tres bientôt.
0
Rejoignez-nous