Engine API's

Übersicht

Die Engine API's sind Dll basierte Schnittstellen für die Entwicklung von verschiedenen Diensten wie:

Nachfolgend finden Sie übergreifende Informationen, welche für alle Engines und Schnittstellen gültig sind.

Allgemein

Funktionsdeklaration

Allgemein gilt folgende Funktionsdeklaration für alle Engines.

function MyEngineFunction( fCode : LongInt;
                           fData : PWideChar;
                           fSize : LongInt;
                           Msg   : PWideChar ) : LongInt;

ANSI und UNICODE Interfaces können in einer Engine gleichzeitig verwendet werden. Wobei das ANSI Interface lediglich zur Abwärtskompatibilität noch vorhanden ist.

Returncodes

Code

Beschreibung

0

Erfolgreich

-1

Allgemeiner Fehler - Abbruch

-2

Allgemeiner Fehler - kein Abbruch

-3

Lizenzfehler

<>Unbekannter Fehler

Hinweis

Ein Returncode <> 0 wird immer als Fehler gewertet.

Build Test

Diese Funktion ist für die interne Verwendung im clarc final builder implementiert und dient der automatischen Funktionsprüfung nach dem Build. Die Implementierung ist optional. 

Im Fehlerfall wird im Return ein Wert <> 0 und optional eine Fehlerbeschreibung zurückgegeben.

function ccBuildTest( fCode : LongInt;
                      fData : PWideChar;
                      Msg   : PWideChar ) : LongInt;

Funktion

Code

Beschreibung

ccfCode_FB_Common

100

Allgemeine Funktionsprüfung

Funktionsdeklaration stdcall Support

Diese Funktion dient zur Prüfung, ob die Dll das stdcall Dll Interface unterstützt. Die Funktion darf nur dann implementiert werden. Bei der Standard pascal Interface Implementierung darf diese Funktion nicht exportiert werden.

function ccSTDCALLSupport : LongInt; stdcall;

Datentypen

Bei der Übergabe von Metadaten an die Engine-Schnittstellen werden diese entsprechend der unten aufgeführten Liste formatiert.

Datentyp

Formatierung

Example

Hilfsfunktion (Delphi)

Wertebereich

SINGLE

Exponential

1.23400000000000E+0001

Val

1,5e-45 .. 3,4e+38

DOUBLE

Exponential

1.23400000000000E+0001

Val

5,0e-324 .. 1,7e+308

CURRENCY

Exponential

1.23400000000000E+0001

Val

-922337203685477,5808.. 922337203685477,5807

DATE

YYYY-MM-DD

2011-12-31

StrToDate


BOOLEAN

True | False

True

StrToBool


UCS2STR


Example Text


2 Byte Unicode String
UCS4STR
More Example Text
4 Byte Unicode String

SHORTINT


123

StrToInt

-128..127

SMALLINT


123

StrToInt

-32768..32767

INT


123

StrToInt

-2147483648..2147483647

INT64


123

StrToInt

-2^63..2^63-1

BYTE


123

StrToInt

0..255

WORD


123

StrToInt

0..65535

LONGWORD


123

StrToInt

0..4294967295

VARIANT





STRARG





STRING





DISPATCH





ERROR





EMPTY





NULL





ANY





TYPEMASK





ARRAY





BYREF





UNKNOWN





Speicherung von Konfigurationsdaten

Die Übergabe der Konfigurationsdaten erfolgt in einem vom Schnittstellen-Entwickler selbst definierten Format. Es wird hierbei keine Prüfung durch die führende Anwendung durchgeführt.

Als Standard empfehlen wir ein XML-String mit folgendem Aufbau (hier am Beispiel der Konfigurationsdaten des EASY XML-Server Exportservice):

<?xml version="1.0" encoding="UTF-8" ?>
<ccConfig>
  <xSrvWebRoot>http://eexserver:8080</xSrvWebRoot> 
  <UserName>superadmin</UserName> 
  <Password>abc</Password> 
  <DebugPath>c:\temp\</DebugPath> 
  <Debug>False</Debug> 
</ccConfig> 

Einfache Config-Strings wie der nachfolgende können ebenfalls problemlos verwendet werden:

xSrvWebRoot=http://eexserver:8080;UserName=superadmin;Password=abc;DebugPath=c:\temp\;Debug=False

In diesem Beispiel müsste lediglich darauf geachtet werden, dass keine „;“-Zeichen eingegeben werden können.

Nutzungshinweise

Bitte beachten Sie folgende Hinweise zur Nutzung der Engine API's.

Wichtiger Hinweis

Die Nutzung der CLARC ENTERPRISE Engines über eine Drittsoftware ist nicht gestattet.