#1 Thu 27 May 2010 14:53
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
[Map Basic] Utilisation de variable dans les mbo
Bonjour,
Je m'apprête à créer mon premier MBP, et je me damandais si les MBO qui sont invoquées dans le MBP peuvent avoire des variable ou des procédure de même nom? ou si ont peut invoquer des procédure d'un MBO à l'autre via le MBP
Merci
JF
Hors ligne
#2 Thu 27 May 2010 18:18
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [Map Basic] Utilisation de variable dans les mbo
Bonjour
On peut appeler des variables, des procédures et des fonctions d'un mbo à l'autre
Il faut:
- soit que le module qui "appelle" contienne les Declare Sub ou Declare Funcction qui vont bien
- soit que ces déclarations (ainsi que la déclaration des variables qui sont à partager entre modules, à définir par Global..) soient dans un module particulier du projet, le module mon_projet.def, qui sera appelé par chacun des modules mbo par la ligne d'en-tête: Include mon_projet.def.
A l'usage, cette dernière méthode est la plus opérationnelle...
Hors ligne
#3 Thu 27 May 2010 19:36
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [Map Basic] Utilisation de variable dans les mbo
Merci,
Donc une variable déclarer en Global dans un MBO ne peut pas être utiliser à des fin différente dans un autre MBO du même projet et même chose pour les fonctions.
C'est donc dire que si j'ai un projet avec plusieurs MBO et par conséquent plusieure formulaires (dialogue), il est à éviter qu'un MBO ait une procédure s'appellant "sub dialogue" pour le formulaire principal et un deuxième MBO avec une précédure "sub dialogue" pour son formulaire.
JF
Dernière modification par jean94 (Thu 27 May 2010 19:37)
Hors ligne
#4 Thu 27 May 2010 22:13
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [Map Basic] Utilisation de variable dans les mbo
Je crois que vous avez compris à l'envers !
Les procédures de chaque mbo sont indépendantes et peuvent avoir le même nom...si elles sont déclarées de façon indépendantes, chacune dans son mbo
Mais on peut aussi utiliser une procédure identique dans chaque mbo si elle est déclarée dans un fichier def appelé dans chaque mbo par un include
Quant à une variable définie en global elle peut être utilisée dans divers mbo si (et, je crois, seulement si) elle est définie dans ce fichier def
Sinon, si elle est définie en tête d'un mbo, je crois qu'elle n'est valide qu'au sein des procédures de ce seul seul mbo
Le "User Guide" de MapBasic décrit ces méthodes à mettre en oeuvre dans un "projet"
Hors ligne
#5 Fri 28 May 2010 14:18
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [Map Basic] Utilisation de variable dans les mbo
Merci
Hors ligne
#6 Fri 04 June 2010 16:20
- jean94
- Participant assidu
- Date d'inscription: 13 Aug 2009
- Messages: 436
Re: [Map Basic] Utilisation de variable dans les mbo
Bonjour,
Je rebondi sur ce sujet car j'ai quelques difficulté...
En fait j'ai trois MBX dont je dispose des MB et qui sont complémentaire...De ce fait j'aimerais fussionne mes MBX en un seul. Donc j'ai chois un de mais MB/MBO ayant la fonction sub main pour alterer le menu...les deux autres deviennent donc des MBO qui s'exécute à partir du menu déroulant.
Je sais que ce n'est surment pas la bonne métho mais sa demande peu de manipulation.
Mon problème est que je n'arrive pas à "Caller" correctement mes MBO à partir de mon principale... il me faut une sub procedure englobante pour que mes declare sub se fassent à l'intérieur des deux autre MBO... mais cela est impossible car on ne peut avoir une sub procedure dans une autre sub procedure....
Le fait est que chacun de mes MBO active un dialogue...
Si vous connaissez MBX avec plusieurs module dont les mb sont disponible je pourrais aussi m'arranger avec cela
Merci
JF
Dernière modification par jean94 (Fri 04 June 2010 16:28)
Hors ligne