Eigentlich braucht er in C nur den
COM- /
OLE-String verwalten
und Delphi macht dieses automatisch, bei Verwendung des WideString
SysAllocStringLen
SysReAllocStringLen
SysFreeString
SysStringLen
Delphi kapselt diese Befehle im WideString und dort wird alles nur an die
WinAPI der oleaut32.dll weitergereicht.
Ich weiß jetzt nicht ob C dafür eventuell eine Klasse oder sowas hat, welches dieses auch schon kapselt, aber er braucht die Funktionen dann in C nur als LPWSTR bzw. BSTR deklarieren, deren Inhalt in C über die oben genannten Funktionen verwalten und in Delphi an gleicher Stelle der Funktionen alles einfach als WideString definieren.
etwa so:
Code:
bool DECLDIR EXTP_IsPlugIn( BSTR name )
Delphi-Quellcode:
function EXTP_IsPlugIn(const name: WideString): LongBool; stdcall;
// oder
function EXTP_IsPlugIn(var name: WideString): LongBool; stdcall;
[add]
war jetzt bool = ByteBool/Boolean und BOOL = LongBool ?
wenn ja, dann natürlich anpassen.