Altova MapForce 2023 Enterprise Edition

Para acceder a la API COM de MapForce debe crear primero una nueva instancia del objeto Application en su aplicación (o script). Una vez haya creado este objeto puede interactuar con MapForce invocando sus métodos y propiedades cuando sea necesario (por ejemplo, al crear un documento nuevo, al abrir uno ya existente, al generar código de asignación, etc.).

 

Requisitos previos

Para que el objeto COM de MapForce esté disponible en su proyecto de Visual Studio, añada una referencia al archivo de la biblioteca de tipos de MapForce (.tlb). Las siguientes instrucciones se han redactado para Visual Studio 2013, pero no difieren demasiado de las de otras versiones de Visual Studio:

 

1.En el menú Proyecto, haga clic en Agregar referencia.

2.Haga clic en Examinar y seleccione el archivo MapForce.tlb dentro de la carpeta de instalación de MapForce.

 

Hay un cliente de muestra de la API de MapForce en C# en la siguiente ruta: (Mis) Documentos\Altova\MapForce2023\MapForceExamples\API\C#.

 

En Java se puede acceder a la API de MapForce con bibliotecas puente Java-COM. Estas bibliotecas se encuentran en la carpeta de instalación de MapForce: C:\Program Files (x86)\Altova\MapForce2023\JavaAPI (esta ruta es válida para una versión de 32 bits MapForce se esté ejecutando en una versión de Windows de 64 bits; de lo contrario hay que adaptar la ruta como corresponda).

 

AltovaAutomation.dll: un envoltorio JNI para los servidores de automatización de Altova

AltovaAutomation.jar: clases en Java para acceder a los servidores de automatización de Altova

MapForceAPI.jar: clases en Java que envuelven la interfaz de automatización de MapForce

MapForceAPI_JavaDoc.zip: un archivo Javadoc que contiene documentación de ayuda para la API Java

 

Para que se pueda acceder al servidor de automatización de MapForce directamente desde el código Java, las bibliotecas antes mencionadas deben estar en la variable de Java classpath.
 

Puede ver un ejemplo de un cliente de la API de MapForce en Java en la siguiente ruta: (Mis) Documentos\Altova\MapForce2023\MapForceExamples\API\Java.

 

En lenguajes de programación como JScript o VBScripts, se puede acceder al objeto COM de MapForce con el Microsoft Windows Script Host (véase https://msdn.microsoft.com/en-us/library/9bbdkx3k.aspx). Estos scripts se pueden escribir con un editor de texto y no necesitan ser compilados, ya que se ejecutan con el Windows Script Host incluido en Windows. (Para comprobar si el Windows Script Host se está ejecutando, teclee wscript.exe /? en la línea de comandos). Puede ver un ejemplo de un cliente de la API de MapForce en JScript en la siguiente ruta: (My) Documents\Altova\MapForce2023\MapForceExamples\API\JScript.

 

Nota:en la versión de 32 bits de MapForce, el nombre registrado o identificador programático (ProgId) del objeto COM es MapForce.Application. Para la versión de 64 bits de MapForce, el nombre es MapForce_x64.Application. Sin embargo, debe tener en cuenta que el programa que realiza las llamadas accede a las entradas de registro CLASSES de su propio subárbol o grupo (de 32 o 64 bits). Por tanto, si ejecuta scripts usando la línea de comandos estándar y el explorador de Windows en una instancia Windows de 64 bits, el programa accederá a las entradas de registro de 64 bits, que apuntan a la versión de 64 bits de MapForce. Por eso, si tiene instaladas tanto la versión de 32 bits como la versión de 64 bits de MapForce necesitará dar un rodeo para llamar a la versión de 32 bits. Por ejemplo, si el programa que realiza las llamadas es Windows Scripting Host, haga lo siguiente:

 

wscript.exe "C:\Users\...\Documents\Altova\MapForce2023\MapForceExamples\API\JScript\start.js"

 

Instrucciones

Recomendamos que el código de su cliente observe las siguientes recomendaciones:

 

No guarde en la memoria referencias a objetos más tiempo del que necesite. Si un usuario interactúa entre dos llamadas de su cliente, no se puede garantizar que esas referencias sigan siendo válidas.

Tenga en cuenta que si ocurre un crash en el código de su cliente puede que sigan existiendo instancias de MapForce en el sistema. Para consultar más detalles acerca de cómo evitar mensajes de error, consulte Gestión de errores.

Libere referencias de forma explícita si está usando lenguajes como C++.

 

Crear el objeto Application

La sintaxis para crear el objeto de inicio Application depende del lenguaje de programación, como mostramos a continuación:

Visual Basic

Dim objMapForce As MapForceLib.Application = New MapForceLib.Application

VBA

' Create a new instance of MapForce.
Dim objMapForce As Application
Set objMapForce = CreateObject("MapForce.Application")

VBScript

' Access a running instance, or create a new instance of MapForce.
Set objMapForce = GetObject("MapForce.Application");

C#

// Create a new instance of MapForce via its automation interface.
MapForceLib.Application objMapForce = new MapForceLib.Application();

Java

// Start MapForce as COM server.
com.altova.automation.MapForce.Application objMapForce = new Application();
// COM servers start up invisible so we make it visible
objMapForce.setVisible(true);

JScript

// Access a running instance, or create a new instance of MapForce.

try

{

 objMapForce = WScript.GetObject ("", "MapForce.Application");

 // unhide application if it is a new instance

 objMapForce.Visible = true;

}

catch(err) { WScript.Echo ("Can't access or create MapForce.Application"); }

© 2017-2023 Altova GmbH