Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Copy AnsiString unter Android fehlerhaft

  Alt 9. Mär 2023, 14:48
Anfangs wurde String/AnsiString genutzt, weil man damit "einfach" arbeiten konnte.

Heute wäre es besser wenigstens den RawByteString zu benutzen,
aber ja, TBytes bzw. TArray<Byte> oder ein Stream wäre für binäre Daten besser geeignet,
vor allem seit sich auch dynamische Arrays string-like behandeln lassen.

Insert/Delete/Copy, aber auch + kann man ja inzwischen benutzen.





Lange hatte ich aber auch Strings benutzt, da dynamische Arrays leider kein Copy-on-Write besitzen.
Delphi-Quellcode:
str[123] := 'x'; // #$78
arr[123] := $78;
Mehrere Variablen auf den String, da wird beim String automatisch kopiert
und somit nur diese Variable verändert,
während man beim Array ein Unicuqe selbst herbeiführen muß,
da sonst auch alle anderen Variablen ihren Wert ändern. (zeigen ja alle weiterhin auf den selben Speicher)

Dank der Custom-Managed-Records gibt es aber auch dafür endlich eine Lösung.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat