[pascal]
Stream.Read(l,Sizeof(l));
SetLength(MyRecords,l);
Stream.Read(MyRecords[0],SizeOf(MyRecord)*L);
[/pascal]
This would be the way. I do it like that and it has never failed me