Forum: Object-Pascal / Delphi-Language
Delphi
by SirThornberry,
21. Sep 2006
Ansistring sagt aus das es String mit variabler Länge ist und somit nur ein Pointer. Bei einem Ansistring liegen die eigentlichen Daten also irgendwo und nicht hinter der Adresse der Variablen.
Du kannst ja mal SizeOf(DeineAnsiStringVariable) ausgeben lassen. Du wirst immer 4 zurück bekommen weil der AnsiString eben nur 4 Byte groß ist (bei einem 32bit compiler)
Forum: Object-Pascal / Delphi-Language
Delphi
by SirThornberry,
21. Sep 2006
Das geht nicht weil in TDatensatz ein Ansistring enthalten ist was widerum nur ein Pointer ist.
@Quick_silver: Wenn Len bei dir ein Integer (4 Byte) ist und du mit
fs.Read(Len, 2);
nur 2 Byte in diese Variable einliest sind die anderen 2 Byte weiterhin undefiniert. Das heißt in den restlichen 2 Byte steht weiter irgendwelcher Zufallsmüll. Entweder nimmst du als Typ "word" oder...