Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: C++ DLL (Funktion) nach Delphi

  Alt 28. Mär 2018, 18:15
Gemanagte Typen ala String, Interfaces oder dynamische Arrays besser niemals als OUT-Parameter deklatieren, sondern nur als VAR.

Und dann ist dieses C++-Char-Array kein Delphi-String, weswegen dein Code nicht funktionieren kann, wenn du inkompatible Typen auf beiden Seiten (DLL und EXE) hast.


Wenn das aber deine DLL ist und du unbedingt "Strings" haben willst, dann nimm in Delphi den WideString, denn dieser Typ kapelst den BSTR der OleAuth32.dll, welche du auch im C++ nutzen kannst.
MSDN-Library durchsuchenSysAllocStringLen usw.

Außerdem, wenn du gemaagte Typen ala String über Modulgrenzen (EXE/DLL) hinweg nutzen willst, dann muß du auch den Speichermanager vom Delphi überall gemeinsam nutzen.
Delphi-Referenz durchsuchenShareMem, Delphi-Referenz durchsuchenSimpleShareMem und Dergleichen
$2B or not $2B

Geändert von himitsu (28. Mär 2018 um 18:17 Uhr)
  Mit Zitat antworten Zitat