AW: Ansistring , shortstring
14. Apr 2020, 22:04
Doch, beim ShortString ist es "erstmal" der richtige Speicher, da hier kein Pointer im Typ steckt,
aber hier ist das erste Byte/Zeichen, die berühmte [0], das Längenbyte.
Zur Fehlerprävention würde ich aber auch hier immer mit @FText[0] arbeiten, bzw. [1] und SizeOf-1,
Für den erzeugten Binärcode hat es praktisch keine Auswirkung, aber besser immer machen und dann nicht einmal ausversehn bei den LongStrings vergessen.
Das ZeroMemory sorgt am Ende auch nur dafür, dass der speicher hinter dem String Text mit 0 gefüllt ist.
ShortStrings haben standardmäßig auch keine abschließende #0, da hier ausschließlich das LängenByte gilt und der ungenutzte Speicher "kann" unbestimmt/zufällig sein.
Ein Therapeut entspricht 1024 Gigapeut.
Geändert von himitsu (14. Apr 2020 um 22:10 Uhr)
|