Ajouter une procédure à un fomulaire

Résolu
rom87 Messages postés 24 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 6 octobre 2011 - 11 juin 2010 à 15:13
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

13 réponses

michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
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.
3
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
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?
0
rom87 Messages postés 24 Date d'inscription jeudi 15 avril 2010 Statut Membre Derniè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.

Cordialement
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
11 juin 2010 à 18:56
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rom87 Messages postés 24 Date d'inscription jeudi 15 avril 2010 Statut Membre Derniè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"

Je ne comprend vraiment pas -_-
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
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
0
rom87 Messages postés 24 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 6 octobre 2011
14 juin 2010 à 10:44
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
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
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!
0
rom87 Messages postés 24 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 6 octobre 2011
14 juin 2010 à 11:45
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.
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
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.
0
rom87 Messages postés 24 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 6 octobre 2011
14 juin 2010 à 12:41
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)
0
rom87 Messages postés 24 Date d'inscription jeudi 15 avril 2010 Statut Membre Dernière intervention 6 octobre 2011
14 juin 2010 à 14:27
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
0
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,

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
0