Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#25

Re: Array mit verschiedenen Records

  Alt 6. Jul 2007, 09:17
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.
  Mit Zitat antworten Zitat