Hallo, Versuche hier Mein Programm mit Pointer und TList zu erstellen. dabei verstehe ich das nicht so 100 %. Habe schon einige Tutorials duchgelesen aber mir bleiben immer noch fragen.
Zb. Wenn ich
Delphi-Quellcode:
type pElement : ^Element //zeiger auf eine Record
Element : Record
Zahl1 : Integer;
Zahl2 : Integer;
End;
Var ElementListe : TList
ElementArray : array[1..20] of Element;
Wenn ich jetzt eine Liste erstelle
ElementListe := TList.Create
in einer Procedure die Zeiger erstelle und an ElementListe anhänge mit Procedure einfugen
Delphi-Quellcode:
Procedure einfugen;
Var MyElement : PElement;
i : Integer;
Begin
For i := 1 to 20 do
Begin
New(MyElement);
MyElement^ := ElementArray[i];
ElementListe.add(MyElement );
End;
End;
Wenn ich auf die Daten in element zugreifen möchte muss ich doch wieder Zb.Procedure Zugreifen
Delphi-Quellcode:
Procedure Zugreifen;
Var MyElement : PElement;
Begin
New(MyElement);
MyElement:= ElementListe[0]; // - erstes Element
x := MyElement.Zahl1 ;
muss ich hier jedesmal den Zeiger wieder mit freigeben.
dispose(MyElement);
Variablen sind doch nur gülig in der Procedur. Zeiger auch ?
oder bleiben die Zeiger erhalten wenn ich sie nicht freigebe und der Speicher ist irgendwann voll ?[/COLOR]
End;