@jbg: Jep, das ist ja auch klar. Ich gebe ja durch
SetLength() nur den Speicher für die Pointer frei, nicht aber den Speicherbereich, den der
record einnimmt.
@marabu: Es handelte sich hier um ein Missverständnis. Ich dachte anfangs,
SetLength() "weiß" bereits VOR der der Zuweisung der einzelnen string-Variablen, dass diese mit 6 Bytes Inhalt (="Name-3") + 1 Byte string-Zeiger + Byte Integer-Wert aus dem
record initialisiert werden.
Meine völlig falsche Selbsterklärung, wie diese 8 Bytes zustande kommen, gehört nun der Vergangenheit an und ich weiß es jetzt besser. Vielen Dank an alle, die meine Verwirrungen beseitigen und mir beim Erweitern der Grundkenntnisse helfen konnten!
Bis zum nächsten Problem, Nogge