Habe das jetzt nur überflogen, daher nur, was mir auf Anhieb komisch vorkam:
- Bist du sicher, dass das Array im Record inline liegt? Ich habe dunkel in Erinnerung, das Array für diesen Fall mit array[0..0] deklarieren zu müssen (aber vielleicht war das auch bei älteren Delphiversionen). Edit: Mir kommt es so gesehen seltsam vor, dass du in deinem Record einen weiteren Zeiger auf einen neuen Speicherblock anforderst. Wird der überhaupt mitkopiert?
- Edit: Zurückgezogen. Das war Blödsinn
- Was gibt sizeof(deinRecord) zurück, wenn du es fertig gefüllt hast? Nur so interessehalber.