Aufruf der API

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Die MapForce API > Übersicht >

Aufruf der API

Um die MapForce COM API aufrufen zu können, muss in Ihrer Applikation (oder Ihrem Skript) eine neue Instanz des Application-Objekts erstellt werden. Anschließend haben Sie über dieses Objekt durch Aufruf der benötigten Methoden und Eigenschaften (z.B. Erstellen eines neuen Dokuments, Öffnen eines vorhandenen Dokuments, Generieren von Mapping-Code usw.) Zugriff auf MapForce.

 

Voraussetzungen

Um das MapForce COM-Objekt in Ihrem Visual Studio-Projekt verfügbar zu machen, fügen Sie eine Referenz zur MapForce Typbibliotheksdatei (.tlb) hinzu. Die folgende Anleitung gilt für 2013, ist aber auch bei anderen Visual Studio-Versionen ähnlich:

 

1.Klicken Sie im Menü Projekt auf Verweis hinzufügen.
2.Klicken Sie auf Durchsuchen und wählen Sie die Datei MapForce.tlb im MapForce-Installationsordner aus.

 

Unter (Eigene) Dokuments\Altova\MapForce2019\MapForceExamples\API\C# steht ein MapForce API-Beispiel-Client in C# zur Verfügung.

 

In Java steht die MapForce API über Java-COM Bridge-Bibliotheken zur Verfügung. Sie finden diese Bibliotheken im MapForce Installationsordner: C:\Programme (x86)\Altova\MapForce2019\JavaAPI (Beachten Sie, dass dieser Pfad gilt, wenn ein 32-Bit-MapForce auf 64-Bit-Windows ausgeführt wird. Passen Sie den Pfad andernfalls entsprechend an).

 

AltovaAutomation.dll: ein JNI Wrapper für Altova Automation Server
AltovaAutomation.jar: Java-Klassen für den Zugriff auf Altova Automation Server
MapForceAPI.jar: Java-Klassen, die den Wrap für die MapForce Automatisch-Schnittstelle bilden
MapForceAPI_JavaDoc.zip: eine Javadoc-Datei mit der Hilfe zur Java API

 

Um direkt vom Java-Code aus Zugriff auf den MapForce Automation Server zu erhalten, müssen sich die Bibliotheken im Java classpath befinden.

 

Unter (Eigene) Dokumente\Altova\MapForce2019\MapForceExamples\API\Java steht ein MapForce API-Beispiel-Client in Java zur Verfügung.

 

In Skriptsprachen wie JScript oder VBScript kann das MapForce COM-Objekt über den Microsoft Windows Script Host aufgerufen werden (siehe https://msdn.microsoft.com/en-us/library/9bbdkx3k.aspx). Solche Skripts können mit einem Text-Editor geschrieben werden und müssen nicht kompiliert werden, da sie von dem mit Windows verpackten Windows Script Host ausgeführt werden. (Um zu überprüfen, ob der Windows Script Host ausgeführt wird, geben Sie in der Befehlszeile wscript.exe /? ein). Unter (Eigene) Dokumente\Altova\MapForce2019\MapForceExamples\API\JScript steht ein MapForce API-Beispiel-Client in JScript zur Verfügung.

 

Anmerkung:Für die 32-Bit-Version von MapForce ist der registrierte Name oder programmatische Identifier (ProgId) des COM-Objekts MapForce.Application. Für die 64Bit-Version von MapForce ist der Name MapForce_x64.Application.

 

Richtlinien

Es sollten in Ihrem Client Code die folgenden Richtlinien beachtet werden:

 

Behalten Sie Referenzen auf Objekte nicht länger im Arbeitsspeicher, als notwendig. Wenn ein Benutzer zwischen zwei Calls Ihres Client eine Eingabe macht, besteht keine Garantie, dass diese Referenzen noch gültig sind.
Denken Sie daran, dass bei einem Absturz Ihres Client Code Instanzen von MapForce möglicherweise noch im System verbleiben.
Nähere Informationen, wie man lästige Fehlermeldungen vermeidet, finden Sie unter Behandlung von Fehlern.
Geben Sie Referenzen explizit frei, wenn Sie Sprachen wie C++ verwenden.

 

Erstellen des Application-Objekts

Die Syntax zur Erstellung des Application-Objekts hängt von der Programmiersprache ab, wie in den Beispielen unten gezeigt:

 

 

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"); }


© 2019 Altova GmbH