Ein "Array of Double" ist einfach ein Zeiger der mit dynamischem Speicher belegt wird. Du musst in zwei "Häppchen" lesen:
1. Die Struktur OHNE das Array
2. Das Array selbst
Etwa so (aus dem Kopf)
Delphi-Quellcode:
Stream.ReadBuffer(in_file, SizeOf(in_file) - SizeOf(in_file.Tdata));
SetLength(in_file.Tdata, in_file.NumberofPoints);
Stream.ReadBuffer(in_file.Tdata[0], in_file.NumberofPoints * SizeOf(in_file.Tdata[0]));