#1 Tue 20 May 2008 18:52
- marjal
- Juste Inscrit !
- Date d'inscription: 19 May 2008
- Messages: 5
Lancement d'un MBX par l'intermédiaire de Java
Bonjour,
J'ai un projet à terminer dans quelques semaines et un dernier élément me résiste...
En fait, j'ai programmé une interface en Java qui ouvre par l'intermédiaire d'un bouton un fichier Mapinfo.
Ce fichier contient 1 carte (3 couches..).
Afin d'ajouter des points GPS sur la carte, un programme en mapBasic à été crée. C'est un .MBX.
A chaque fois que l'utilisateur clique sur le bouton "Point GPS" de l'interface en Java, il lance l'application .MBX mais celle-ci ouvre une nouvelle fenêtre MapInfo au lieu de s'exécuter dans la fenêtre déjà ouverte avec les cartes...
Ceci est un problème de commande puisque en passant par windows tout marche comme il faut.. Il manque un petit quelquechose dans la ligne de commande exécutée par Java...
Quelqu'un connaît-il les les commandes windows de mapinfo qui permettent d'éxécuter le mbx dans la fenêtre courante de mapinfo?
Winodws le fait tout seul grace aux DDE..
Toute idée pourra m'aider à avancer..
Merci!
Hors ligne
#2 Wed 21 May 2008 15:18
Re: Lancement d'un MBX par l'intermédiaire de Java
Bonjour,
Si vous n'obtenez pas de réponse sur ce forum, vous pourriez tenter votre chance ici:
http://georezo.net/forum/viewforum.php?id=5
Amicalement,
Bruno
Hors ligne
#3 Wed 21 May 2008 18:55
- marjal
- Juste Inscrit !
- Date d'inscription: 19 May 2008
- Messages: 5
Re: Lancement d'un MBX par l'intermédiaire de Java
Merci, je vais essayer!!
Cordialement,
Marjorie
Hors ligne
#4 Wed 21 May 2008 19:45
- aure5555
- Juste Inscrit !
- Date d'inscription: 28 Jan 2008
- Messages: 8
Re: Lancement d'un MBX par l'intermédiaire de Java
Bonjour,
Comment lance tu ton ton premier fichier MapInfo?
par l'intermediaire d'un commande Windows du genre C:\...\mapinfo.exe arg1 arg2 ...
ou bien en instanciant un objet MapInfo dans ton programme en java?
si tu utilise la première solution, je ne vois pas comment tu pourrai faire, car une fois le programme lancer, tu n'a plus la main dessus non?
Pour la seconde solution quelqu'un avait deja poster dessus mais je coirs que personne n'a réussi a lancer un objet MapInfo à partir de Java.
On peut le faire à partir de vb ou du C++ mais resterai a trouver la connexion JAVA<---> C++
c'est peut etre une piste a chercher
Hors ligne
#5 Wed 21 May 2008 21:55
- marjal
- Juste Inscrit !
- Date d'inscription: 19 May 2008
- Messages: 5
Re: Lancement d'un MBX par l'intermédiaire de Java
En fait, pour l'instant j'utilise la première solution, mais la solution de passer par le C++ sera seule possible je pense..
Mais je ne sais absolument pas programmer en C++!
Que faut-il que je fasse? Avez-vous des références?
Merci !
Hors ligne
#6 Wed 21 May 2008 22:05
- aure5555
- Juste Inscrit !
- Date d'inscription: 28 Jan 2008
- Messages: 8
Re: Lancement d'un MBX par l'intermédiaire de Java
Dans l'aide de MapBaic, recherche Integrated Mapping
il y a des exemples
pour le C++ la syntaxe est assez proche du java le plus dur sera de faire communiquer ton appli java avec le C++
en gros tu a juste besoin de declarer et d'instancier ton objet MapInfo puis de lui passer les commandes mapbasic a executer
Hors ligne
#7 Wed 21 May 2008 22:35
Re: Lancement d'un MBX par l'intermédiaire de Java
Aure, c'est de http://georezo.net/forum/viewtopic.php?id=48370 dont tu parles ?
Alors comme ça, on se crée un nouveau compte ?
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#8 Thu 22 May 2008 15:20
- marjal
- Juste Inscrit !
- Date d'inscription: 19 May 2008
- Messages: 5
Re: Lancement d'un MBX par l'intermédiaire de Java
Voilà, j'ai commencer le compilateur en C qui doit me lancer le fichier MBX...
Mais ça ne marche pas, la fenêtre mapinfo ne s'ouvre pas.
Voici mon code...
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
int main()
{
printf("Error impossible de creer le process");
WinExec("D:\Traitement_GPS\GPS.MBX",1);
return 0;
}
Qu'est-ce qui ne va pas??
Merci de votre aide!
Hors ligne
#9 Thu 22 May 2008 18:13
- aure5555
- Juste Inscrit !
- Date d'inscription: 28 Jan 2008
- Messages: 8
Re: Lancement d'un MBX par l'intermédiaire de Java
La tu veux lancer le mbx
je pense qu'il faudrai plutot que tu t'oriente vers une solution de ce type
en VB
Dim MapInfo as Object
'debut de fonction...
'initialisation de mon objet
Me.MapInfo = CreateObject("Mapinfo.application")
'définition du handle
Me.MapInfo.do("Set Application Window " & HWND)
'ensuite tu peux lui dire d'executer des commandes MapBasic (pour charger un fichier mbx je ne sais pas mais certain doivent savoir
Me.Mapinfo.Do("Comande mapbasic...")
bon après pour le faire en C/C++ sa ne doit pas trop différer
j'ai trouver ça dans la doc de map basic
(tu lance l'aide de map basic puis dans la rubrique Integrated Mapping puis Integrated Mapping Using Visual C++ and MFC
:
Code:
After all of the other #includes add: #include "MapInfow.h" Just below the declaration "CprojectnameApp theApp", add the following variable declaration: DMapInfo mapinfo; Near the end of CprojectnameApp::InitInstance, but before the OnFileNew() call, add: mapinfo.CreateDispatch("MapInfo.Application");
donc la ton objet MApinfo doit etre lancer
donc je pense que tu devrai avoir un truc du genre
Code:
#include <stdio.h> #include <stdlib.h> #include <Windows.h> #include "MapInfow.h" void main(void) { DMapInfo mapinfo; mapinfo.CreateDispatch("MapInfo.Application"); char str[256]; sprintf(str, "Set Application Window %lu", (long)(UINT)m_hWnd); mapinfo.Do(str); /* ensuite des commandes mapbasic ex ouvrir une table*/ mapinfo.DO("Open Table chemin/yop.TAB as Name_Table") 'pour dire a MI de t'afficher un message mapinfo.Do("Note \"Hello from MapInfo\""); }
J'ai pas testé le code mais j'ai trouver sa dans l'aide de MapBasic
Dernière modification par aure5555 (Thu 22 May 2008 18:15)
Hors ligne
#10 Fri 30 May 2008 02:41
- zimou
- Juste Inscrit !
- Date d'inscription: 10 Apr 2008
- Messages: 7
Re: Lancement d'un MBX par l'intermédiaire de Java
Bonjour,
Je suis sur un projet qui fait appel a mapinfo.Ma question sera simple et direct: y'a t-il un moyen de se connecter a mapinfo a partir d'une application java, ("un outils a integrer du genre easy map )
J'ai besoin d'un serieux coup de main, merci d'avance..
Hors ligne
#11 Fri 30 May 2008 02:46
- zimou
- Juste Inscrit !
- Date d'inscription: 10 Apr 2008
- Messages: 7
Re: Lancement d'un MBX par l'intermédiaire de Java
Bonjour,
Je suis sur un projet qui fait appel a mapinfo.Ma question sera simple et direct: y'a t-il un moyen de se connecter a mapinfo a partir d'une application java, ("un outils a integrer du genre easy map )
J'ai besoin d'un serieux coup de main, merci d'avance..
Hors ligne
#12 Fri 30 May 2008 08:18
- aure5555
- Juste Inscrit !
- Date d'inscription: 28 Jan 2008
- Messages: 8
Re: Lancement d'un MBX par l'intermédiaire de Java
dans se meme poste
Pour la seconde solution quelqu'un avait deja poster dessus mais je coirs que personne n'a réussi a lancer un objet MapInfo à partir de Java.
On peut le faire à partir de vb ou du C++ mais resterai a trouver la connexion JAVA<---> C++
c'est peut etre une piste a chercher
et un autre poste un peu avant :
http://georezo.net/forum/viewtopic.php?id=48370
donc la réponse a priori non pas de connexion direct MapInfo/Java
Hors ligne
#13 Fri 10 May 2013 10:23
- ismailovic22
- Juste Inscrit !
- Date d'inscription: 8 May 2013
- Messages: 5
Re: Lancement d'un MBX par l'intermédiaire de Java
svp comment vous aviez fait pour integrer la carte MapInfo a java votre premier étapes je suis bloqué sur cette partie.merci d'avance
Hors ligne