Ja, du kannst es dynamisch zuordnen. Da musst du den Speicher selbst verwalten.
Prinzip:
Delphi-Quellcode:
type TDaten1=record
...
var typ:array of byte;
DatenArray:Array of pointer;
procedure readversion1(const Stream:Tstream;pos:integer);
var Daten1:^TDaten1;
begin
new(Daten1) //Speicher reservieren
stream.read(Daten1^,sizeof(TDaten1);
Datenarray[pos]:=Daten1;
typ[pos]:=1; //du musst dir ja merken, an welcher Stelle du welchen Typ von record hast
end;
procedure readversion2.....
//zugriff
Daten1:=Datenarray[pos];
showmessage(Daten1^.xyz);
//am Ende speicher mit dispose freigeben
case typ[pos] of
1: begin
Daten1:=Datenarray[pos];
dispose(Daten1);
...
Anmerkung du kannst dir auch gleich einen Typ machen
So, ich muss erstmal los....
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.