RAD Studio VCL Reference
ContentsIndex
PreviousUpNext
TRemotableTypeRegistry.RegisterXSInfo Method

Registers a remotable type.

Pascal
procedure RegisterXSInfo(Info: PTypeInfo; const URI: InvString = ''; const Name: InvString = ''; const ExtName: InvString = '');
C++
__fastcall RegisterXSInfo(PTypeInfo Info, const InvString URI = '', const InvString Name = '', const InvString ExtName = '');

Call RegisterXSInfo to register a type that requires special marshaling but does not need to be represented by a TRemotable descendant before it can be marshaled for transport to or from a Web Services provider. Such types include dynamic arrays such as the dynamic array types defined in the Types unit (Delphi) or sysdyn.h (C++), enumerated types, and boolean types (Delphi) or types defined using a typedef statement (C++). 

Info is the TypeInfo pointer for the type. It can be obtained using the global TypeInfo function (Delphi) or the __delphirtti keyword (C++). In C++, it is sometimes obtained from a global function such as GetClsMemberTypeInfo, which extracts the type information from a holder class. 

URI is the namespace URI to associate with that type. This should uniquely identify the type. If you omit this parameter or supply an empty string, RegisterXSInfo generates a namespace URI for you, based on the name of the type, the name of the unit in which it is declared, and the value of the global AppNameSpacePrefix variable. Note that the namespace URI must be the same in both client and server applications. In Delphi, if you do not explicitly supply a namespace URI, the class must be declared in a unit with the same name, and the value of AppNameSpacePrefix must be the same in both applications. In C++, the client application must always explicitly supply a namespace. 

Name is the name of the type as it appears in native code. 

ExtName is the name of the type as it appears in encoded method calls and WSDL documents. 

 

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!