Engine API's
- Former user (Deleted)
- Development (Unlicensed)
Ü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.