Thema: Delphi TStrings

Einzelnen Beitrag anzeigen

MatthiasW

Registriert seit: 29. Jan 2003
Ort: Reichenbach
253 Beiträge
 
Delphi 2009 Professional
 
#6

Re: TStrings

  Alt 11. Okt 2003, 18:09
Hallo,

Zitat von Christian Seehase:
Moin Matthias,

so müsste es eigentlich gehen:

Delphi-Quellcode:
var
  TempTabs : TStringList; // TStrings ist eine abstrakte Klasse, von der man keine Instanzen bilden sollte.

begin
  TempTabs := TStringList.Create; // Temporäre Liste erzeugen
  TempTabs.Assign(MeineCompo.Tabs); // und den Inhalt (ggf. samt Objekten) aus der anderen Liste übernehmen
  TempTabs.Add('Test'); // neue Zeile hinzufügen
  MeineCompo.Tabs.Free; // Ursprungsliste freigeben, da sie sonst nicht mehr erreicht werden kann
  MeineCompo.Tabs := TempTabs; // Temporäre Liste als neu zuweisen => müsste jetzt SetTabs aufrufen
end;
Wichtig:
TStrings als Typ anzugeben, ist in Ordnung, ja sogar sinnvoll, da man dann alle Objekte, deren Typ eine von TStrings abgeleitete Klasse ist, übergeben kann.
Nur eine Instanz von TStrings sollte man nicht erstellen. (Bei entsprechender Einstellung, gibt der Compiler da auch eine Warnung aus)
irgendwie klappt das ganze net, ich bekomm immer ne Zugriffsverletzung wenn ich versuche den TempTabs wieder zuzuweisen (nach dem Free).

Mfg Matthias
Hilfe wir stürzen ab!!!
  Mit Zitat antworten Zitat