Delphi-PRAXiS
Seite 2 von 2     12

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Weitergabe eines Strings über Pointer funktioniert nicht - manchmal... (https://www.delphipraxis.net/208021-weitergabe-eines-strings-ueber-pointer-funktioniert-nicht-manchmal.html)

s-off 29. Mai 2021 22:02

AW: Weitergabe eines Strings über Pointer funktioniert nicht - manchmal...
 
Zitat:

Zitat von himitsu (Beitrag 1490380)
vor D2009 war
String = AnsiString
PChar = PAnsiChar
Char = AnsiChar

seit D2009 sind es
String = UnicodeString
PChar = PWideChar
Char = WideChar


Entweder alle String/PChar/Char explitit auf ANSI ändern, so wie es früher war

oder jetzt so lassen, wie es nun ist, aber dennoch alle Typen auf Unicode/Wide ändern, (sie sind es jetzt schon, aber wie gesagt, niemals dynamische Typen in externen Schnittstellen)
aber beachten, dass Chars dort 2 Byte groß sind, also der Speicher ist doppelt so groß, was auch bei Length/Size beachtet werden muß.

Alles klar, ich schaue mir das am Montag nochmal im Detail an :) Besten Dank!

s-off 31. Mai 2021 12:39

AW: Weitergabe eines Strings über Pointer funktioniert nicht - manchmal...
 
Hallo zusammen,

kurze Rückmeldung: es funktioniert nun wie gewünscht.

Ich habe aus PChar einen PWideChar gemacht und aus CoTaskMemAlloc und Move wurde WideStrAlloc und StringToWideChar.
Des Weiteren habe ich zum Rückschreiben des PWideChar in den String die SetString-Methode benutzt.
Nun ist alles lecker.


Vielen Dank nochmals an alle Tippgeber!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr.
Seite 2 von 2     12

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf