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

GEODATA DAYS 2024

#1 Sun 14 December 2003 09:20

Frédéric VIÑAS
Invité

Passage d'un dialogue a un autre !!!!

Bonjour !!!!

Mon probleme est le suivant :
J’utilise un petit programme mbx pour afficher une fenetre dialogue ou
je fais un ensemble d’operations !
Visiblement MapBasic est limite a un certain nombre de lignes ce qui m’a
oblige d’ecrire un autre mbx pour faire afficher une deuxieme fenetre
dialogue.

Seulement je souhaiterais que certains renseignements que l’utilisateur
a selectionnes dans la premiere fenetre dialogue soient egalement
selectionnes dans le deuxieme !
Quand je n’ai pas a changer de mbx, j’arrive tres bien a selectionne
l’info dans la 1iere fenetre et la faire passer dans la deuxieme.
Mais comme je vous l’ai explique je dois changer de mbx et l’info est
perdue !!!!!!

En esperant avoir expose le plus clairement possible mon probleme,
est-ce que vous auriez une solution a me proposer pour ne pas perdre
l’info… une sorte de passage d’argument entre deux applications mbx.

Merci pour votre aide si vous voyez une solution !!!!

Frederic VIÑAS
Consultant en SIG
GEOMASYS.rtbi
Montpellier

 

#2 Sun 14 December 2003 09:20

RICHARD TREMBLAY
Invité

Re: Passage d'un dialogue a un autre !!!!

Bonjour,
Il y a plusieurs techniques pour faire communiquer deux applications. Liaisons OLE ou DDE, envoie de messages et probablement d'autres. Avec l'artillerie lourde des outils de programmation modernes ca se fait courramment. Pour ma part, je ne sais pas si c'est possible en mapbasic. Par contre, une solution facile a mettre en oeuvre serait d'enregistrer les donnees dans un fichier texte avec le premier mbx pour ensuite lire le fichier avec le deuxieme. Les solutions les plus simples sont toujours les meilleures.

Salutations !
Richard Tremblay

 

#3 Mon 15 December 2003 17:34

Jplartigau
Invité

Re: Passage d'un dialogue a un autre !!!!

La reponse tient dans la realisation d'un projet mapbasic.
En effet Mapbasic est limite a 64ko par fichier mb (source). Donc en creant un mbp (projet) comme suit

Application=menubab.mbx
Module=menubab.mbo
Module=formats.mbo

avec autant de module que necessaire.
En utilisant un fichier toto.def ou les variables globales et les fonctions sont definies les differents modules peuvent appelees le fonctions et routines des modules et utiliser les variables.

exemple de fichier toto.def
' Fichier de declaration des variables globales et des fonctions de l'outil Edition du CA BAB

Global fic_log,utilisateur as string
Global inscription as smallint
Global Docinitial,valide_menu,repparam as string
Global factechinit as float
Global OS as string

' declaration des fonctions definies dans menubab.mb
Declare Sub pleinnord
Declare Sub pleinouest
' fin du fichier toto.def

ainsi avec la commande
include toto.def
mise en entete de chaque module (menubab.mb et formats.mb dans l'exemple present)

les fonctions pleinnord et pleinouest et les variables globales sont accessibles dans les deux modules .

Pour de plus ample information voir la formation Mapbasic (user's guide)
Sinon me mailler des demandes plus precises.
Pour exemple mon plus gros programme tient en sept modules (200 ko de programmes) et 6500 lignes de programmes et au total un mbx de 145 ko

 

Pied de page des forums

Powered by FluxBB