#1 Tue 25 November 2008 09:44
- snaileater
- Participant actif
- Date d'inscription: 5 Nov 2008
- Messages: 121
Mapinfo et AutoIt
Please, please ... je cherche quelqu'un ayant des compétences sur les deux domaines - Mapinfo et AutoIt :
Je travaille pour le moment sous AutoIt. J'ai créé une interface avec une carte Mapinfo (objet Map) dessus. je voudrais que mon application cliente autoIt réagisse (par exemple) à un clic (outil sélection de Mapinfo par exemple) ou une autre interaction sur un objet Map de Mapinfo. Pour cela il faut apparemment utiliser les fonctions de rappel (callback). J'ai vu des tonnes d'exemples en VB mais je n'arrive pas à trouver la méthode en autoIt (la syntaxe plutÎt) ...
Je cherche quelqu'un qui aurait des compétences sur les deux sujets ...
En gros ça doit ressembler à ça :
Code:
$o_Mapinfo = ObjCreate("MapInfo.application")
$toto = DLLCallbackRegister ("_toto", "int", "str")
$h_toto = DllCallbackGetPtr($toto)
$o_Mapinfo.SetCallback($h_toto)
Func _toto($str_mapinfo)
;
... Mon code
;
EndFuncEn l'occurrence la méthode SetCallback me génÚre systématiquement une erreur (erreur sur le paramÚtre passé ? ... je ne sais pas ....)
Quelqu'un aurait-il expérimenté le sujet ?
Merci d'avance.
Dernière modification par snaileater (Fri 28 November 2008 18:24)
Hors ligne
#2 Tue 25 November 2008 22:22
Re: Mapinfo et AutoIt
Pas d'idĂ©es mais pour la culture gĂ© et pour ceux qui se posent la mĂȘme question que moi (mais qu'est-ce que c'est "AutoIt" ?) :
AutoIt (prononcez aow-toh-it) [1] est un langage de script freeware permettant une automatisation sous le systĂšme dâexploitation Microsoft Windows. Dans ses premiĂšres versions, le logiciel a Ă©tĂ© principalement destinĂ© Ă crĂ©er des scripts d'automatisation (parfois appelĂ©s macros ) pour des programmes Microsoft Windows.[2] De tels scripts ont prouvĂ©s leurs utilitĂ© pour automatiser l'achĂšvement de tĂąches fortement rĂ©pĂ©titives, comme le dĂ©ploiement d'un grand nombre de PC avec des instructions d'installation identiques. Avec les versions postĂ©rieures, AutoIt s'est dĂ©veloppĂ© pour inclure des amĂ©liorations tant dans la conception du langue de programmation que dans les fonctionnalitĂ©s gĂ©nĂ©rales.
Avec la sortie de la version 3 de AutoIt, la syntaxe du langage de programmation a Ă©tĂ© restructurĂ© pour ĂȘtre plutĂŽt comme des langages de la famille BASIC. Un script peut ĂȘtre compilĂ© dans un exĂ©cutable compressĂ© autonome qui peut alors ĂȘtre exĂ©cutĂ© sur des ordinateurs dĂ©pourvus de l'interprĂ©teur AutoIt.
Robin.
Hors ligne
#3 Wed 26 November 2008 10:08
- snaileater
- Participant actif
- Date d'inscription: 5 Nov 2008
- Messages: 121
Re: Mapinfo et AutoIt
Mince ... je m'étais dit un début de réponse ...
Ca n'est pas si connu que ça AutoIt ? Dommage ... c'est vraiment génial ... seuls point faibles : La gestion des interfaces et la gestion des bases de données (pour lesquelles il n'est pas vraiment fait ...) sinon on fait quasiment ce qu'on veut ... petit ... pas cher (freeware) ... et communauté assez active ...
Personne n'a expérimenté les deux ? (Mapinfo + AutoIt) ?
;-(
Hors ligne
#4 Fri 28 November 2008 15:26
- Miss T.
- Participant assidu
- Lieu: En pleine amazonie...
- Date d'inscription: 17 Oct 2005
- Messages: 294
Re: Mapinfo et AutoIt
Moi, j'ai utilisé AutoIt pour automatiser des processus de traitement complexes sous Vertical Mapper (en simulations de clics et de frappes de clavier) et MapInfo. Une vraie macro.
Je n'ai pas encore essayĂ© d'intĂ©grer MapInfo dans une interface gĂ©nĂ©rĂ©e sous AutoIt mais, apparemment, je vais ĂȘtre une des seules personnes Ă pouvoir t'aider Ă bricoler ça...
Le mieux serait que je jette un oeil Ă ton code, si tu veux bien, pour mieux cerner ce que tu veux faire et oĂč sont les problĂšmes. Envoie moi ça par MP que je vois oĂč ça bloque. Y'a peut-ĂȘtre des alternatives, va savoir...
Hors ligne
#5 Fri 28 November 2008 18:24
- snaileater
- Participant actif
- Date d'inscription: 5 Nov 2008
- Messages: 121
Re: Mapinfo et AutoIt
Euh eh bien ... tout est dans mon post #1 ... je bloque en fait trÚs tÎt ... sur du trÚs "théorique" informatique ...
Dans le code prĂ©sentĂ© je veux absolument que la mĂ©thode SetCallback arrĂȘte de me retourner une erreur ...
C'est franchement plus une question informatique qu'une question SIG, mais nulle part je ne trouve de support ...
;-(
Hors ligne
#6 Mon 01 December 2008 10:23
- Miss T.
- Participant assidu
- Lieu: En pleine amazonie...
- Date d'inscription: 17 Oct 2005
- Messages: 294
Re: Mapinfo et AutoIt
J'ai jeté un oeil à l'aide de AutoIt: les fonctions DLLCallbackRegister et DLLCallbackGetPtr sont faites pour lancer des dll.
Et la méthode SetCallback n'existe pas dans AutoIt. (Voir l'aide...)
AutoIt n'est ni du VB, ni du C: la doc existante n'est donc qu'à moitié valable (je parle de certaines syntaxes utilisées par ces langages).
2 questions:
1/ la carto s'affiche-t-elle bien dans la fenĂȘtre voulue (ou contrĂŽle)? (==> MapInfo a-t-il Ă©tĂ© bien lancĂ©?)
2/ Le mieux serai d'utiliser des .do et des Eval. Les-as-tu déjà testés?
Dernière modification par Miss T. (Mon 01 December 2008 10:35)
Hors ligne
#7 Tue 02 December 2008 18:57
- snaileater
- Participant actif
- Date d'inscription: 5 Nov 2008
- Messages: 121
Re: Mapinfo et AutoIt
J'ai créé un objet Mapinfo en AutoIt puis un objet Map que j'affiche dans mon application AutoIt ... ça n'est pas excessivement dur.
SetCallback n'est effectivement pas une "fonction autoIt" mais une méthode de l'objet Mapinfo.application tel DO et EVAL donc effectivement la doc d'autoIt n'est à peu prÚs d'aucune utilité. Par contre les méthodes de l'objet "Mapinfo.application" sont (un peu) documentées dans les docs officielles Mapinfo.
donc pour répondre à ta question : oui effectivement DO et EVAL répondent à une partie des besoins mais pas à tous ...
En l'occurrence je voudrais ajouter de l'interactivité à mon interface et je ne sais pour le moment pas faire réagir une application cliente AutoIt à un clic souris sur un objet Map (par exemple...)
tout cela a l'air d'ĂȘtre faisable en visual Basic (et on trouve de la doc...) mais pr le moment je n'y arrive pas avec autoit ...
Hors ligne

