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