Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.052 Beiträge
 
Delphi 12 Athens
 
#3

Re: WideString aus C++ DLL-Methode an Delphi-Host zurückgebe

  Alt 14. Jul 2009, 11:36
Eigentlich braucht er in C nur den COM- / OLE-String verwalten
und Delphi macht dieses automatisch, bei Verwendung des WideString

MSDN-Library durchsuchenSysAllocStringLen
MSDN-Library durchsuchenSysReAllocStringLen
MSDN-Library durchsuchenSysFreeString
MSDN-Library durchsuchenSysStringLen

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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat