rom87
Messages postés24Date d'inscriptionjeudi 15 avril 2010StatutMembreDernière intervention 6 octobre 2011
-
11 juin 2010 à 15:13
babazou38
Messages postés22Date d'inscriptiondimanche 27 janvier 2008StatutMembreDernière intervention 1 décembre 2010
-
5 nov. 2010 à 11:23
Bonjour; après des recherches infructueuses je viens vous chercher.
Je souhaite ajouter une procédure à un formulaire jusqu'ici pas de problème.
Mais voilât je dispose de plusieurs formulaire est la procédure est toujours crée dans le "pére". Est-il possible de déplacer la procédure ou sinon comment la créer sur le formulaire souhaité.
Je fais "Formulaire" => "Nouvelle méthode "
ou => "Éditer propriété/méthodes"
J'ai essayé aussi avec "Memberdate editor" mais impossible de créer.
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 14 juin 2010 à 13:53
oui, malheureusement, tu n'as pas d'autre solution. Je ne vois pas comment contourner le problème.
Dès que tu crées un formset, toutes les méthodes que tu vas créer seront créées sur le formset, et non sur les forms.
Ces formset sont vraiment des sources d'embètements, parcequ'ils brisent la logique objet des forms en tant que conteneurs.
Si ce programme est en cours de réalisation (je veux dire pas encore terminé), alors ça vaut la peine d'y passer le temps qu'il faut pour ne plus avoir de formset. Même si c'est 1 ou 2 mois de perdus maintenant, c'est du temps de gagné pour les années suivantes.
commence par voir ce que donne "Fichier, enregistrer en tant que classe", en enregistrant chaque form d'un formset. ensuite tu avanceras vite.
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 11 juin 2010 à 16:54
Bonjour,
je ne suis pas sur de bien comprendre ton problème:
[*] qu'est-ce que tu appelles le "père"?
[*] que veux-tu dire par "je dispose de plusieurs formulaires"?
[*] tu voudrais que cette procédure soit présente dans plusieurs formulaires?
Est-ce que ces formulaires sont des instances de la même classe? Comment as-tu créé ces formulaires?
rom87
Messages postés24Date d'inscriptionjeudi 15 avril 2010StatutMembreDernière intervention 6 octobre 2011 11 juin 2010 à 18:37
Bonjour,
Le "père" c'est le programme main.
Les formulaires sont appelé comme ca dans VFP se sont différente fenêtre.
Ex: Père: Menu principale
Fenêtre 1 - Fenêtre 2 etc ...
Pour moi:
MNGESTPARC
MNARBO - MNARTI etc ...
Non je voudrais que cette procédure ne soi pressente que dans mnarbo, mais lorsque je cherche à en créer une par défaut MNGESTPARC est choisit.
"Formulaire" => "Nouvelle méthode " est à ce moment MNGESPARC est choisi sans que je puisse le changer.
rom87
Messages postés24Date d'inscriptionjeudi 15 avril 2010StatutMembreDernière intervention 6 octobre 2011 14 juin 2010 à 08:46
Bonjour; Justement je pense bien l'ouvrir normalement:
Sur Windows ouverture de mon .PJX
Dans le gestion de projet modification "Modifier" du formulaire mngesparc
Dans le formulaire mngesparc.scx (avec toute les différentes fenêtres du programme) ouverture avec le bouton "code..." de mnarbo
Et la lorsque je fait souhaite créer une méthode elle sont créer dans "mngesparc.scx"
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 14 juin 2010 à 10:28
Je ne comprends pas ce que tu fais quand tu dis:
Dans le formulaire mngesparc.scx (avec toute les différentes fenêtres du programme) ouverture avec le bouton "code..." de mnarbo
Mnarbo est bien un form? ou bien c'est un prg?
Si tu veux créer une nouvelle méthode dans le form mnarbo, alors c'est celui-ci qu'il faut modifier. Soit tu le prends dans le gestionnaire de projet, et tu cliques sur"Modifier", soit tu saisis en fenêtre de commande MODIF FORM mnarbo
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 14 juin 2010 à 11:34
Mais "fils de" n'a aucune signification.
si mnarbo est bien un form défini par un scx, alors tu peux le modifer en saisissant en fenetre de commande MODIF FORM mnarbo
Mais pourquoi mnarbo n'est-il pas dans ce projet? Si tu veux un jour compiler ce projet en app ou en exe, il te faudra bien avoir mnarbo dans le projet. Ajoutes-le maintenant!
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 14 juin 2010 à 12:28
Ah, j'ai compris! tu utilises un FORMSET. mngesparc est un FormSet, un ensemble de formulaires.
je te conseille de ne JAMAIS utiliser ces "objets", jamais jamais
Ils datent de la période charnière pendnat laquelle VFP est devenu un langage vraiment orienté-objet, et ne sont pas de vrais objets. Leur seule utilité était de pouvoir partager un environnement de données, mais c'était avant qu'on ait les classes de DataEnvironment et de Cursor, et aussi avant qu'on ait le BindEvent.
Reprends ton projet, crées des forms, supprime tous tes formsets, et là, tu verras, ça sera simple comme bonjour pour ajouter des méthodes là où tu en as besoin.
babazou38
Messages postés22Date d'inscriptiondimanche 27 janvier 2008StatutMembreDernière intervention 1 décembre 2010 5 nov. 2010 à 11:23
Bonjour,
ce que tu dis Michel est absolument à suivre. Toute la communauté VFP te le dira (www.atoutfox.org). Le gestionnaire de projet est capable de gérer de très nombreux écrans; les propriétés de FORM sont suffisantes pour décider dans quel environnement de données on travaille, si la form est de 1er niveau ou au contraire dans une form de 1er niveau, modal ou non, etc ....
Maintenant s'il faut décider ta hierarchie, on peut en discuter avec eux ... On est toute une communauté à défendre notre outil préféré et cela passe par une aide technique importante ... Vous pouvez aussi disposer d'aide via des prestataires de service au top (suis mon regard ..) ou des formations qui seront d'une grande rentabilité.
Mais pour aller loin, il faut être sur de bons rails ...