Accéder à l’API
Pour accéder à l’API COM de MapForce, une nouvelle instance de l’objet Application doit être créée dans votre application (ou script). Une fois que cet objet est créé, vous pouvez interagir avec MapForce en invoquant ses méthodes et propriétés telles que requises (par exemple, créer un nouveau document, ouvrir un document existant, générer un code de mappage, etc.).
Exigences préalables
Pour rendre l’objet MapForce COM disponible dans votre projet de Visual Studio, ajoutez une référence au fichier MapForce type library (.tlb). Les instructions suivantes s’appliquent à Visual Studio 2013, mais sont semblables dans d’autres versions de Visual Studio :
1.Sur le menu Projet, cliquez sur Ajouter référence.
2.Cliquez sur Parcourir et sélectionnez le fichier MapForce.tlb situé dans le dossier d'installation MapForce.
Un exemple de client API de MapForce dans C# est disponible à : C:\Users\<username>\Documents\Altova\MapForce2025\MapForceExamples\API\C#.
Dans Java, l’API de MapForce est disponible par les bibliothèques pont Java-COM. Ces bibliothèques sont disponibles dans le dossier d’installation de MapForce : C:\Program Files (x86)\Altova\MapForce2025\JavaAPI (veuillez noter que ce chemin est valide quand MapForce 32-bit est exécuté sur Windows 64-bit, autrement, ajustez le chemin en conséquence).
•AltovaAutomation.dll: un wrapper JNI pour les serveurs d’automatisation d’Altova
•AltovaAutomation.jar : classes de Java pour accéder aux serveurs d’automatisation d’Altova
•MapForceAPI.jar : classes de Java qui wrappent l’interface d’automatisation de MapForce
•MapForceAPI_JavaDoc.zip : un fichier Javadoc contenant une documentation d’aide pour l’API de Java
Pour permettre l’accès au serveur d’automatisation de MapForce directement depuis le code Java, les bibliothèques ci-dessus doivent être dans la classpath de Java.
Un exemple de client API de MapForce dans Java est disponible sous : C:\Users\<username>\Documents\Altova\MapForce2025\MapForceExamples\API\Java.
Dans les langages de script tels que JScript ou VBScript, l’objet COM de MapForce est accessible par le Microsoft Windows Script Host (voir https://msdn.microsoft.com/en-us/library/9bbdkx3k.aspx). De tels scripts peuvent être écrits avec un éditeur de texte et n’ont pas besoin de compilation, puisqu’ils sont exécutés par Windows Script Host empaqueté avec Windows. (Pour vérifier si Windows Script Host est exécuté, saisissez wscript.exe /? à l’invite de commande). Plusieurs fichiers d'exemple JScript qui appellent l’API de MapForce sont disponibles sous : C:\Users\<username>\Documents\Altova\MapForce2025\MapForceExamples\API\JScript.
Note : | Pour MapForce 32-bit, le nom enregistré ou l'identificateur programmatique (ProgId) de l'objet COM est MapForce.Application. Pour MapForce 64-bit, le nom est MapForce_x64.Application. Néanmoins, n'oubliez pas que le programme d'appel accédera aux entrée de registre CLASSES dans sa propre ruche de registre, ou groupe (32-bit ou 64-bit). C'est pourquoi, si vous exécutez des scripts en utilisant l'invite de commande standard et Windows Explorer sur Windows 64-bit, les entrées de registre 64-bit seront accédées, et pointeront vers le MapForce 64-bit. Pour cette raison, si les deux MapForce 32-bit et 64-bit sont installés, une gestion spéciale est nécessaire afin de pouvoir appeler le MapForce 32-bit. Par exemple, si on part du principe que Windows Scripting Host est le programme d'appel, procéder comme suit : |
1.Changer le répertoire actuel à C:\Windows\SysWOW64.
2.Dans la ligne de commande, saisir wscript.exe suivi du chemin vers le script que vous souhaitez exécuter, par exemple :
wscript.exe "C:\Users\...\Documents\Altova\MapForce2025\MapForceExamples\API\JScript\start.js" |
Lignes directrices
Les lignes directrices suivantes devraient être prises en compte dans votre code client :
•Ne gardez pas de références aux objets en mémoire plus longtemps que vous en avez besoin. Si un utilisateur interagit entre deux appels de votre client, il n’y a pas de garantie que ces références sont toujours valides.
•Ayez conscience que si votre code client a un incident, les instances de MapForce demeurent tout de même dans le système. Pour les détails comment éviter les messages d’erreur, voir Gestion d'erreur.
•Libérez les références explicitement si vous utilisez les langages tels que C++.
Créer l’objet de l’application
La syntaxe pour créer l’objet d’Application de démarrage dépend du langage de programmation, tel qu’expliqué dans l’exemple ci-dessous :
C#
// Créez une nouvelle instance de MapForce par l’interface d’automatisation. |
Java
// Démarrez MapForce en tant que serveur COM. |
JScript
// Accédez à une instance en cours d’exécution, ou créez une nouvelle instance de MapForce. try { objMapForce = WScript.GetObject ("", "MapForce.Application"); // afficher l’application s’il s’agit d’une nouvelle instance objMapForce.Visible = true; } catch(err) { WScript.Echo ("Ne peut pas accéder à ou créer MapForce.Application"); } |
VBA
' Créez une nouvelle instance de MapForce. |
VBScript
' Accédez à une instance en cours d’exécution, ou créez une nouvelle instance de MapForce. |
Visual Basic
Dim objMapForce As MapForceLib.Application = New MapForceLib.Application |