program wrapper02; const US_STACKBUF_SIZE = 7; type uint16_t = Word; int32_t = Longint; UChar = widechar; UChar_ptr = ^UChar; UnicodeString_ptr = ^UnicodeString; UnicodeString = object __vtable : pointer; fLength , fCapacity : int32_t; fArray : UChar_ptr; fFlags : uint16_t; fStackBuffer : array[0..US_STACKBUF_SIZE - 1 ] of UChar; end; function UnicodeString_New : UnicodeString_ptr; cdecl; external 'icu4pas36.dll' name 'UnicodeString_New_v1_3_6'; procedure UnicodeString_Delete(var obj : UnicodeString_ptr ); cdecl; external 'icu4pas36.dll' name 'UnicodeString_Delete_3_6'; procedure UnicodeString_Constructor(var return : UnicodeString ); cdecl; external 'icu4pas36.dll' name 'UnicodeString_Constructor_v1_3_6'; procedure UnicodeString_Destructor(var obj : UnicodeString ); cdecl; external 'icu4pas36.dll' name 'UnicodeString_Destructor_3_6'; var str : UnicodeString_ptr; BEGIN // Creation of UnicodeString C++ class instance on heap str:=UnicodeString_New; // Deletion of UnicodeString C++ class instance on heap UnicodeString_Delete(str ); END.