Ajouter une procédure à un fomulaire [Résolu]

Messages postés
24
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
6 octobre 2011
- - Dernière réponse : babazou38
Messages postés
22
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Derniè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.

Il y a surement une réponse simple mais bon ...

PS: VFP9 XP

Cordialement
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
Messages postés
834
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Commenter la réponse de michelatoutfox
Messages postés
834
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
0
Merci
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?
Commenter la réponse de michelatoutfox
Messages postés
24
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
6 octobre 2011
0
Merci
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.

Cordialement
Commenter la réponse de rom87
Messages postés
834
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
0
Merci
Le menu "Formulaire"->Nouvelle Méthode n'est actif que sur le formulaire en cours de modification (ce lui qui est ouvert en design).

Si tu veux créer une nouvelle procédure (méthode) pour le form MNARBO, il suffit que ce soit celui-ci qui soit en design (création/modification)
Commenter la réponse de michelatoutfox
Messages postés
24
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
6 octobre 2011
0
Merci
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"

Je ne comprend vraiment pas -_-
Commenter la réponse de rom87
Messages postés
834
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
0
Merci
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
Commenter la réponse de michelatoutfox
Messages postés
24
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
6 octobre 2011
0
Merci
Mnarbo n'apparait pas dans le gestionnaire de projet.
Il est "fils" de mngesparc qui lui apparait dans le gestionnaire.

Voici un print de mon écran qui te permettra peut être de mieux comprendre : http://yfrog.com/11mngesp
Commenter la réponse de rom87
Messages postés
834
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
0
Merci
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!
Commenter la réponse de michelatoutfox
Messages postés
24
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
6 octobre 2011
0
Merci
Mnarbo n'est pas une form quand je fait MODIF FORM MNARBO une form s'ajoute à mon projet.

je que je veut signifier pas "fils" c'est : http://yfrog.com/mifilsp
Désolé je n'est c'est pas comment vous l'appelez sinon ^^

En faite MNARBO fait parti de MNGESPARC. Il s'agit d'un "sous formulaire" en quelque sorte.
Commenter la réponse de rom87
Messages postés
834
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
0
Merci
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.
Commenter la réponse de michelatoutfox
Messages postés
24
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
6 octobre 2011
0
Merci
Ca veut dire que je ne peut pas ajouter de méthode dans mon MNARBO?

Malheureusement si c'est la cas supprimer tout les formset serait vraiment un long travaille vu le programme-_-

Il n'existe pas de façon autre pour contourner le problème ?( à par faire tout les liaisons vers mngesparc)
Commenter la réponse de rom87
Messages postés
24
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
6 octobre 2011
0
Merci
Ok ben je te remercie quand meme.
Les modification de seront surement pas adopter vu qu'une nouvelle version est encours mais pas grave.

CDT romain
Commenter la réponse de rom87
Messages postés
22
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
1 décembre 2010
0
Merci
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 ...

Jean à Grenoble
Commenter la réponse de babazou38