banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

 

Pied de page des forums

Powered by FluxBB