Forum: Object-Pascal / Delphi-Language
by himitsu,
5. Jul 2012
Gut, aber wie ist es mit dem Auslesen?
Beim Auslesen des records schreibst du einen "defekten" Pointer in den Record, also an die Stelle wo das Array steht.
Sobald du dann versuchst mit SetLength dem array seine größe zuzuweisen, weil du nun ja auch noch dieses befüllen willst, knallt es ganz furchtbar.
OK, man könnte jetzt das Speichermanagement mit wilden Pointeroperationen umgehen und dort...
Forum: Object-Pascal / Delphi-Language
by himitsu,
4. Jul 2012
Dagegen spricht erstmal nix, aber du kannst es vergessen die den TFzzV.Record einfach so in einen Stream oder sonstohin speichern oder kopieren(Move) zu können.
String, dynamische Arrays, Interfaces und teilweise auch Variants sind intern "Pointer", womit man also nicht den Inhalt speichern würde, sondern nur den Zeiger
und wenn man sowas direkt läd/kopiert, dann zerschießt man sich auch die...