Nicht-skalare Typen in aufrufbaren Interfaces verwenden
Nach oben zu Aufrufbare Interfaces im Überblick
Die Web-Services-Architektur unterstützt die folgenden skalaren Typen für Delphi und C++:
Boolean |
ByteBool |
WordBool |
LongBool |
Char |
Byte |
ShortInt |
SmallInt |
Word |
Integer |
Cardinal |
LongInt |
Int64 |
Single |
Double |
Extended |
string |
WideString |
Currency |
TDateTime |
Variant |
Die folgenden skalaren Typen werden für C++ unterstützt:
bool |
unsigned short |
_int64 |
char |
int |
AnsiString |
signed char |
unsigned |
float |
unsigned char |
long |
double |
short |
unsigned long |
long double |
Für die Verwendung dieser skalaren Typen in einem aufrufbaren Interface ist kein besonderes Vorgehen erforderlich. Enthält das Interface jedoch Eigenschaften oder Methoden, in denen andere Typen zum Einsatz kommen, muss die Anwendung diese Typen in der Remotable-Typ-Registrierung registrieren.
Es ist möglich, dynamische Arrays in aufrufbaren Interfaces zu verwenden. In diesem Fall müssen die Arrays in der Remotable-Typ-Registrierung erfasst werden, was allerdings automatisch beim Registrieren des Interface erfolgt. Die Remotable-Typ-Registrierung extrahiert aus den vom Compiler generierten Typeninformationen alle erforderlichen Informationen.
Aufzählungstypen sowie Typen, die direkt einem skalaren Typ zugeordnet sind, für den automatisches Marshaling durchgeführt wird, können ebenfalls in aufrufbaren Interfaces verwendet werden. Auch diese Typen werden (wie die dynamischen Array-Typen) automatisch in der Remotable-Typ-Registrierung registriert.
Bei allen anderen Typen, wie etwa statischen Arrays, Strukturen, Records, Mengen, Interfaces und Klassen, müssen Sie den Typ einer Remotable-Klasse zuweisen. Unter einer Remotable-Klasse versteht man eine Klasse, die Laufzeit-Typinformationen (RTTI) enthält. Das Interface muss anschließend anstelle des entsprechenden statischen Arrays, der Struktur, des Records, der Menge, des Interface oder der Klasse die Remotable-Klasse verwenden. Alle erstellten Remotable-Klassen müssen in der Remotable-Typ-Registrierung registriert werden. Wie bei den anderen Typen erfolgt auch diese Registrierung automatisch.