Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: DLL Programmierung - Wie übergebe ich am sinnvollsten meine Daten?

  Alt 10. Okt 2016, 18:44
Statt PWideChar einfach WideString verwenden.

WideString ist eine "Umleitung" (Kapselung) auf einen OLE-String (der OleAut32.dll), den eigentlich jede Programmiersprache versteht und der auch von Windows bei vielen Schnittstellen Verwendung findet.
MSDN-Library durchsuchenSysAllocStringLen MSDN-Library durchsuchenSysFreeString MSDN-Library durchsuchenSysStringLen
Die Speicherverwalung wird dann von der OLE32 vorgenommen, womit also Einer den String erstellen und der Andere ihn wieder freigeben kann, da beide Seiten den selben Speichermanager verwenden.

Wenn diese DLL in der Delphi-Welt bleibt, also nur bei Delphi-Anwendungen eingebunden wird, dann kann man auch Delphi-Strings (AnsiString/UnicodeString) verwenden, wenn man SimpleShareMem (früher ShareMem) verwendet.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (10. Okt 2016 um 18:47 Uhr)
  Mit Zitat antworten Zitat