Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: DLL mit Strings von D10 nach Delphi 6

  Alt 25. Okt 2023, 18:22
Strings wurden im Jahre 2009 intern umgebaut. Aktuelle "LongStrings" haben zwei Felder mehr. (der Offset zwischen String-Zeiger und Speicher-Block hat sich verschoben)
Außerdem mußt du mit der Speicherverwaltung aufpassen -> Shared Memory.

Hier ein paar Threads, unter Anderem auch diesbezüglich,
wo ich zuletzt auch damit gekämpft hatte, zwischen Delphi 7 und 11.3.
https://www.delphipraxis.net/213732-...n-gesucht.html
https://www.delphipraxis.net/213691-...-methoden.html
https://www.delphipraxis.net/213736-...-fuer-neu.html

Fazit: Nimm WideString, ShortString, PChar PAnsiChar/PWideChar oder andere CharArrays.
Ebenso ginge OleVariant .... nicht Variant, da Letzteres ebenfalls die LongStrings enthält, wobei vor 2009 das Delphi den UnicodeString nicht kennt.

WideString kapselt den BSTR (OLE-String), also dessen WinAPI der OleAut32.dll, aka MSDN-Library durchsuchenSysAllocString usw.
$2B or not $2B

Geändert von himitsu (25. Okt 2023 um 18:28 Uhr)
  Mit Zitat antworten Zitat