Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: dynamische TStringList(en)

  Alt 23. Sep 2005, 23:06
Moin TheAn00bis,

wenn Du eine Instanz von einem Objekt erzeugst, so erhältst Du, zwangsläufig, den Pointer auf das Objekt (den reservierten, und wohl auch initialisierten, Speicher).
Bei Dir würde also nun, nach dem Create Liste1 den Pointer auf die Instanz der ersten Stringliste enthalten, Liste2 den auf die zweite usw.

Bei dem Beispiel mit TList wären es dann die jeweiligen Elemente des Arrays.
Da TList aber nun einmal eine allgemeine Pointerliste ist, musst Du, bei der Verwendung, angeben, welchen Typ der Pointer hat.
Bei SirThornberrys Beispiel sähe das dann so aus:
LStringlistList[0] enthält den Pointer auf die erste StringListe, LStringlistList[1] den auf die zweite usw.
Als TStringList zugreifen kannst Du dann so:

TStringList(LStringlistList[0]).Add('Zeile der ersten StringListe hinzufügen'); Bei TList musst Du Dich aber auch darum kümmern, dass die Objekte wieder freigegeben werden, wenn Du sie nicht mehr brauchst:

Delphi-Quellcode:
 for LCount := 0 to 4 do
  begin
    TStringList(LStringlistList).Free;
  end;
Wenn Du, wie schon vorgeschlagen wurde, Hier im Forum suchenTObjectList verwendest, kannst Du Dir das u.U. sparen, wenn Du diese mit Create(true) aufrufst.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat