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

rom87 24 Messages postés jeudi 15 avril 2010Date d'inscription 6 octobre 2011 Dernière intervention - 11 juin 2010 à 15:13 - Dernière réponse : babazou38 22 Messages postés dimanche 27 janvier 2008Date d'inscription 1 décembre 2010 Dernière intervention
- 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 

13 réponses

Répondre au sujet
michelatoutfox 834 Messages postés mardi 5 octobre 2004Date d'inscription 7 mai 2013 Dernière intervention - 14 juin 2010 à 13:53
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de michelatoutfox
michelatoutfox 834 Messages postés mardi 5 octobre 2004Date d'inscription 7 mai 2013 Dernière intervention - 11 juin 2010 à 16:54
0
Utile
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
rom87 24 Messages postés jeudi 15 avril 2010Date d'inscription 6 octobre 2011 Dernière intervention - 11 juin 2010 à 18:37
0
Utile
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
michelatoutfox 834 Messages postés mardi 5 octobre 2004Date d'inscription 7 mai 2013 Dernière intervention - 11 juin 2010 à 18:56
0
Utile
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
rom87 24 Messages postés jeudi 15 avril 2010Date d'inscription 6 octobre 2011 Dernière intervention - 14 juin 2010 à 08:46
0
Utile
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
michelatoutfox 834 Messages postés mardi 5 octobre 2004Date d'inscription 7 mai 2013 Dernière intervention - 14 juin 2010 à 10:28
0
Utile
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
rom87 24 Messages postés jeudi 15 avril 2010Date d'inscription 6 octobre 2011 Dernière intervention - 14 juin 2010 à 10:44
0
Utile
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
michelatoutfox 834 Messages postés mardi 5 octobre 2004Date d'inscription 7 mai 2013 Dernière intervention - 14 juin 2010 à 11:34
0
Utile
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
rom87 24 Messages postés jeudi 15 avril 2010Date d'inscription 6 octobre 2011 Dernière intervention - 14 juin 2010 à 11:45
0
Utile
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
michelatoutfox 834 Messages postés mardi 5 octobre 2004Date d'inscription 7 mai 2013 Dernière intervention - 14 juin 2010 à 12:28
0
Utile
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
rom87 24 Messages postés jeudi 15 avril 2010Date d'inscription 6 octobre 2011 Dernière intervention - 14 juin 2010 à 12:41
0
Utile
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
rom87 24 Messages postés jeudi 15 avril 2010Date d'inscription 6 octobre 2011 Dernière intervention - 14 juin 2010 à 14:27
0
Utile
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
babazou38 22 Messages postés dimanche 27 janvier 2008Date d'inscription 1 décembre 2010 Dernière intervention - 5 nov. 2010 à 11:23
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.