Einzelnen Beitrag anzeigen

js747a

Registriert seit: 11. Aug 2008
Ort: Nord hessen
43 Beiträge
 
Delphi 7 Enterprise
 
#1

Zeiger in TList

  Alt 13. Jul 2016, 22:41
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;

Geändert von TBx (14. Jul 2016 um 08:20 Uhr) Grund: Titel korrigiert und Delphi-Tags eingefügt
  Mit Zitat antworten Zitat