#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 ; EndFunc
En 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