Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Copy AnsiString unter Android fehlerhaft

  Alt 9. Mär 2023, 13: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat