Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
Delphi 12 Athens
|
AW: Textdatei laden - Integerüberlauf
16. Jul 2020, 21:53
Nur an der Stelle das zu Ändern ist völlig irrelevant, so lange es durch einen String gejagt wird, dann dafür ist hier der Integer als Typ vollkommen richtig, siehe mein Post.
PS, was CodeInsight für Typen beim SetLength anzeigt, ist auch irrelevant, verwirrend und falsch,
denn siehe DynArraySetLength in System.pas ist es für dynamische Arrays richtig als NativeInt deklariert,
aber eben bei den LongStrings immernoch als Integer. (sowohl Funktion, als auch im Typ)
Bezüglich der Compiler-Magic darfst eh nie dem trauen, was dir angezeigt wird.
Was extrem schwachsinnig ist, denn in 32 Bit sind seit jeher DynArray und LongString vom Aufbau her rundlegend kompatibel. (auch dort wo seit 2009 die CodePage und CharSize sich verstecken, ist im DynArray ein Platzhalter enthalten), was nun im 64 Bit aber nicht mehr passt. Und das hier auch zu diesem Problem führt.
$2B or not $2B
Geändert von himitsu (16. Jul 2020 um 22:18 Uhr)
|