Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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 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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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

 

Pied de page des forums

Powered by FluxBB