Na das ist schon ein etwas heftigeres Ding.
Leider ist nicht alle noetige Info vorhanden.
my_bool fehlt und ausgesprochen wichtig hier ist das Betriebssystem.
Ich vermute Linux und deshalb sind die Funktionen cdecl und nicht stdcall.
Delphi-Quellcode:
type
Tstrcoll = function(Param1: PByte; Param2: PByte): Integer; cdecl;
Tstrxfrm = function(Param1: PByte; Param2: PByte; Param3: Integer): Integer; cdecl;
Tstrnncoll = function(Param1: PByte; Param2: Integer; Param3: PByte; Param4: Integer): Integer; cdecl;
Tstrnxfrm = function(Param1: PByte; Param2: PByte; Param3: Integer; Param4: Integer): Integer; cdecl;
// der pchar im Original ist verdaechtig
Tlike_range = function(Param1: PChar; Param2: Cardinal; Param3: PChar; Param4: Cardinal;
Param5: PChar; Param6: PChar; Param7: PCardinal; Param8: PCardinal): my_bool; cdecl;
Tismbchar = function(Param1: PChar; Param2: PChar): Integer; cdecl;
Tismbhead = function(Param1: Cardinal): my_bool; cdecl;
Tmbcharlen = function(Param1: Cardinal): Integer; cdecl;
PCHARSET_INFO = ^CHARSET_INFO; // den braucht man eh immer
CHARSET_INFO = record // moeglicherweise packed record
number: Cardinal;
name: PChar;
ctype: PByte;
to_lower: PByte;
to_upper: PByte;
sort_order: PByte;
strxfrm_multiply: Cardinal;
strcoll: Tstrcoll;
strxfrm: Tstrxfrm;
strnncoll: Tstrnncoll;
strnxfrm: Tstrnxfrm;
like_range: Tlike_range;
mbmaxlen: Cardinal;
ismbchar: Tismbchar;
ismbhead: Tismbhead;
mbcharlen: mbcharlen;
end;