Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.442 Beiträge
 
Delphi 12 Athens
 
#16

AW: ANSISTRING unter Linux verfügbar ???

  Alt 14. Jun 2018, 11:16
Nein. Das bedeutet, dass es solange er keine OS-Funktionen aufruft, egal ist wie das OS Strings verwaltet. Er interpretiert den Speicherinhalt als eine Zeichenkette, in der jedes Zeichen 1 Byte belegt.
Im Falle von AnsiString ist das eventuell schon von Bedeutung, da hier OS in direktem Zusammenhang mit dem Compiler steht. Der Linux-Compiler kennt keinen AnsiString und sowohl Linux- als auch Windows-Compiler behandeln RawByteString gleich.

Der Windows-Compiler verarbeitet aber AnsiString anders als RawByteString, auch wenn man keine OS-Funktionen aufruft. Eine Umstellung von AnsiString nach RawByteString kann also ein anderes Verhalten auslösen, erstmal unabhängig vom Zielsystem. Wenn dann aber über IFDEF unter Windows AnsiString und unter Linux RawByteString verwendet wird, hat man dieses unterschiedliche Verhalten eben abhängig vom Zielsystem, was zumindest die Fehlersuche erschweren könnte.

Da wir immer noch nicht wissen, wie aktuell die AnsiStrings unter Windows eingesetzt werden, kann man auch keine Aussage darüber treffen, ob RawByteString ein funktionaler Ersatz sein kann.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat