Programmierschnittstelle (API): Unterschied zwischen den Versionen

Aus ArcFlow Wiki
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „<languages /> <translate> <!-- <title>ArcFlow API</title> --> <table class=BigTable bgcolor="#242A34"> <tr> <td class="BigTitle" colspan="2" align="c…“
 
Stand 4.1.08 Geänderte Verzeichnisstruktur
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 28: Zeile 28:
   </tr>
   </tr>
   <tr>
   <tr>
     <td valign=top><font class=source>af_api.dll</font></td>
     <td valign=top><font class=source>...\Client\Lib\api_w32\af_api_w32.dll</font></td>
     <td valign=top>ArcFlow-API-DLL</td>
     <td valign=top>ArcFlow-API-DLL 32-bit</td>
   </tr>
   </tr>
   <tr>
   <tr>
     <td valign=top><font class=source>arcflow_api.ca1</font></td>
     <td valign=top><font class=source>...\Client\Lib\api_w64\af_api_w64.dll</font></td>
    <td valign=top>ArcFlow-API-DLL 64-bit</td>
  </tr>
  <tr>
    <td valign=top><font class=source>...\Client\App\Install\ArcFlowAPI\AF.API.Arg.prc</font></td>
    <td valign=top>Prozedur für Übergabe von Argumenten und Ermitteln des Resultats</td>
  </tr>
  <tr>
    <td valign=top><font class=source>...\Client\App\Install\ArcFlowAPI\AF.API.Base.prc</font></td>
    <td valign=top>Prozedur mit Basisfunktionen</td>
  </tr>
  <tr>
    <td valign=top><font class=source>...\Client\App\Install\ArcFlowAPI\AF.API.Def.prc</font></td>
    <td valign=top>Prozedur mit Konstanten und anderen Definitionen</td>
  </tr>
  <tr>
    <td valign=top><font class=source>...\Client\App\Install\ArcFlowAPI\AF.API.prc</font></td>
    <td valign=top>Prozedur mit allen Anweisungen der Schnittstelle</td>
  </tr>
  <tr>
    <td valign=top><font class=source>...\Client\App\Install\ArcFlowAPI\arcflow_api.ca1</font></td>
     <td valign=top>Beispielapplikation inklusive der API-Prozeduren</td>
     <td valign=top>Beispielapplikation inklusive der API-Prozeduren</td>
   </tr>
   </tr>
Zeile 40: Zeile 60:
</p><p>
</p><p>


<p>Die im Lieferumfang enthaltenen Dateien müssen in ein Verzeichnis kopiert  
Das Unterverzeichnisse "ArcFlow\Client\Lib\api_w32" und "ArcFlow\Client\Lib\api_w64" können in ein separates Verzeichnis kopiert werden, beispielsweise in das Unterverzeichnis "ArcFlowAPI" oder aus dem ArcFlow-Clientverzeichnis "ArcFlow\Client\Lib" geladen werden. Bei der Anweisung [[AfOpen|AfOpen()]] darf nur das "Lib"-Verzeichnis angegeben werden. Die Anweisung ermittelt die Architektur und ruft dann die korrekte DLL aus dem entsprechenden Verzeichnis auf.
werden, beispielsweise in das Unterverzeichnis "Arcflow\API". Sie dürfen nicht in  
 
das Client-Verzeichnis von CONZEPT 16 kopiert werden.</p>
Bestimmte Funktionen benötigen die .NET-Funktionalitäten von ArcFlow, daher sollten die Dateien "ArcFlow.NET.API.DLL", "ArcFlow.NET.DLL" und "ArcFlow.SYS.DLL" in das Verzeichnis des Clients kopiert werden.


<p>Die Datenbank "arcflow_api.ca1" muss beim C16-Server eingetragen werden.  
<p>Die Datenbank "arcflow_api.ca1" kann beim CONZEPT 16-Server eingetragen werden.  
In der Datenbank sind zwei Benutzer (USER und SUPERUSER) definiert. Für beide  
In der Datenbank sind zwei Benutzer (USER und SUPERUSER) definiert. Für beide  
Benutzer ist kein Passwort notwendig. Mit dem Benutzer "USER" kann die  
Benutzer ist kein Passwort notwendig. Mit dem Benutzer "USER" kann die  
Zeile 77: Zeile 97:
</table>
</table>


<p>Die Prozedur "Frm_ApiTest" wird nur in der Beispielapplikation benötigt. Sie zeigt den Aufruf der API-Funktionen, sowie die Verarbeitung der zurückgelieferten Daten. Alle anderen Prozeduren müssen aus der Beispielapplikation exportiert und in die CONZEPT 16-Applikation importiert werden.</p>
<p>Die Prozedur "Frm_ApiTest" wird nur in der Beispielapplikation benötigt. Sie zeigt den Aufruf der API-Funktionen, sowie die Verarbeitung der zurück gelieferten Daten. Alle anderen Prozeduren müssen aus der Beispielapplikation exportiert und in die CONZEPT 16-Applikation importiert werden. Die Prozeduren befinden sich ebenfalls nach der Installation von ArcFlow im Verzeichnis "ArcFlow\Client\App\Install\ArcFlowAPI".</p>


<p>{{Info|Diese Prozeduren dürfen '''nicht''' verändert werden. Im Falle  
{{Info|Diese Prozeduren dürfen '''nicht''' verändert werden. Im Falle von Änderungen kann kein Support geleistet werden!}}
von Änderungen kann kein Support geleistet werden!}}</p>


<p>Damit die ArcFlow-Hilfe in der Entwicklungsumgebung von CONZEPT 16 eingesetzt werden kann, um zum Beispiel die Online-Hilfe für die API-Befehle anzuzeigen, muss in der Konfigurationsdatei des Clients (<font class=source>c16.cfg</font> oder <font class=source>c16_apgi.cfg</font>) der Eintrag <font class=source>ApiHelp1=&lt;Pfad und Dateiname&gt;</font> vorhanden sein. &lt;Pfad und Dateiname&gt; ist dabei der relative Verzeichnispfad und der Dateiname zur Datei <font class=source>ArcFlow.rid</font>.</p>
<p>Damit die ArcFlow-Hilfe in der Entwicklungsumgebung von CONZEPT 16 eingesetzt werden kann, um zum Beispiel die Online-Hilfe für die API-Befehle anzuzeigen, muss in der Konfigurationsdatei des Clients (<font class=source>c16.cfg</font> oder <font class=source>c16_apgi.cfg</font>) der Eintrag <font class=source>ApiHelp1=&lt;Pfad und Dateiname&gt;</font> vorhanden sein. &lt;Pfad und Dateiname&gt; ist dabei der relative Verzeichnispfad und der Dateiname zur Datei <font class=source>ArcFlow.rid</font>.</p>

Aktuelle Version vom 25. März 2024, 10:10 Uhr

 ArcFlow API
Programmierschnittstelle von ArcFlow

Mit der Programmierschnittstelle können die Funktionen von ArcFlow aus einer anderen CONZEPT 16-Applikation heraus genutzt werden. Auf diese Weise kann ArcFlow in beliebige Applikationen integriert werden.

Im Lieferumfang der API sind folgende Dateien enthalten:

Pfad / Datei Beschreibung
...\Client\Lib\api_w32\af_api_w32.dll ArcFlow-API-DLL 32-bit
...\Client\Lib\api_w64\af_api_w64.dll ArcFlow-API-DLL 64-bit
...\Client\App\Install\ArcFlowAPI\AF.API.Arg.prc Prozedur für Übergabe von Argumenten und Ermitteln des Resultats
...\Client\App\Install\ArcFlowAPI\AF.API.Base.prc Prozedur mit Basisfunktionen
...\Client\App\Install\ArcFlowAPI\AF.API.Def.prc Prozedur mit Konstanten und anderen Definitionen
...\Client\App\Install\ArcFlowAPI\AF.API.prc Prozedur mit allen Anweisungen der Schnittstelle
...\Client\App\Install\ArcFlowAPI\arcflow_api.ca1 Beispielapplikation inklusive der API-Prozeduren

Installation

Das Unterverzeichnisse "ArcFlow\Client\Lib\api_w32" und "ArcFlow\Client\Lib\api_w64" können in ein separates Verzeichnis kopiert werden, beispielsweise in das Unterverzeichnis "ArcFlowAPI" oder aus dem ArcFlow-Clientverzeichnis "ArcFlow\Client\Lib" geladen werden. Bei der Anweisung AfOpen() darf nur das "Lib"-Verzeichnis angegeben werden. Die Anweisung ermittelt die Architektur und ruft dann die korrekte DLL aus dem entsprechenden Verzeichnis auf.

Bestimmte Funktionen benötigen die .NET-Funktionalitäten von ArcFlow, daher sollten die Dateien "ArcFlow.NET.API.DLL", "ArcFlow.NET.DLL" und "ArcFlow.SYS.DLL" in das Verzeichnis des Clients kopiert werden.

Die Datenbank "arcflow_api.ca1" kann beim CONZEPT 16-Server eingetragen werden. In der Datenbank sind zwei Benutzer (USER und SUPERUSER) definiert. Für beide Benutzer ist kein Passwort notwendig. Mit dem Benutzer "USER" kann die Beispielapplikation gestartet werden. Weitere Hilfe zum Umgang mit der Beispielapplikation befindet sich weiter unten.

Um die Schnittstelle in eine CONZEPT 16-Applikation einzubinden, muss die Beispielapplikation mit dem Benutzer "SUPERUSER" oder "SU" ohne Passwort aufgerufen werden. Die Datenbank enthält folgende Prozeduren:

AF.API Prozedur mit den ArcFlow-Funktionen
AF.API.Arg Include-Prozedur
AF.API.Base Prozedur mit den ArcFlow-Basisfunktionen.
AF.API.Def Prozedur mit den Variablen-Definitionen
Frm_ApiTest Prozedur für die Beispielapplikation

Die Prozedur "Frm_ApiTest" wird nur in der Beispielapplikation benötigt. Sie zeigt den Aufruf der API-Funktionen, sowie die Verarbeitung der zurück gelieferten Daten. Alle anderen Prozeduren müssen aus der Beispielapplikation exportiert und in die CONZEPT 16-Applikation importiert werden. Die Prozeduren befinden sich ebenfalls nach der Installation von ArcFlow im Verzeichnis "ArcFlow\Client\App\Install\ArcFlowAPI".

Diese Prozeduren dürfen nicht verändert werden. Im Falle von Änderungen kann kein Support geleistet werden!

Damit die ArcFlow-Hilfe in der Entwicklungsumgebung von CONZEPT 16 eingesetzt werden kann, um zum Beispiel die Online-Hilfe für die API-Befehle anzuzeigen, muss in der Konfigurationsdatei des Clients (c16.cfg oder c16_apgi.cfg) der Eintrag ApiHelp1=<Pfad und Dateiname> vorhanden sein. <Pfad und Dateiname> ist dabei der relative Verzeichnispfad und der Dateiname zur Datei ArcFlow.rid.

Beispiel:

ApiHelp1=Arcflow\ArcFlow.rid

Sind die Angaben korrekt, kann im Prozedureditor über die direkt Befehlshilfe (<Strg>+<F1>) die Hilfe zu dem Befehl aus der ArcFlow-Onlinehilfe angezeigt werden.

Bedienung der Beispielapplikation

Die Beispielapplikation startet direkt, wenn sich der Benutzer "USER" ohne Passwort einloggt.

Hier muss der Programmpfad eingetragen werden, in dem die ArcFlow-API-DLL gespeichert ist, ebenso Name bzw. die IP des Servers (bspw: "192.168.0.1") und der Name der Arcflow-Datenbank (in der Regel "arcflow").

Nach diesen Eintragungen kann die API geladen werden. Dazu wird die Schaltfläche [API laden] gedrückt. Im nächsten Schritt muss sich mit der ArcFlow-Datenbank verbunden werden. Dazu wird ein Benutzerkürzel sowie das dazugehörende Benutzerpasswort angegeben und auf [Login] geklickt.

Auf der zweiten Notebookseite "Beispielfunktionen" sind in einer Liste alle Funktionen aufgelistet, die die API zur Verfügung stellt. Über die Eingabefelder können die Parameter eingetragen werden, die der Funktion übergeben werden sollen. Die Beschreibung der Funktionen befindet sich im Text im unteren Bereich des Fensters.

Über die Schaltfläche [Funktion ausführen] wird die ausgewählte Funktion aufgerufen und die Inhalte der Eingabefelder als Parameter übergeben. Das Resultat wird im Text unterhalb der Liste angezeigt.