Ganz verstehe ich in der praktischen Handhabung den Unterschied zwischen TStrings und TStringList nicht.
In der Hilfe zu TStrings steht:
Zitat:
TStrings enthalten abstrakte bzw. rein virtuelle (C++ Terminologie) Methoden und sollten nicht direkt instantiiert werden.
So weit so gut. Aber wenn ich ein TMemo hernehme, dann ist Lines vom Typ TStrings. Ist eine TMemo auf einem Formular, wird doch beim Create des Formulars automatisch auch eine Instanz erzeugt, auf die Lines verweist? Ist diese Instanz jetzt vom Typ TStrings, vom Typ TStringlist, oder was sonst? Weil TStrings sollte ja nicht direkt instanziiert werden?
Und kann ich der Eigenschaft TMemo.Lines mittels Zuweisung einfach eine vorhandene Instanz von TStringlist, die ich vorher manuell erstellt habe, zuweisen?
Code:
var sl: TStringList;
begin
sl:=TStringlist.create;
sl.lines.add(...);
....
Memo1.Lines:=sl;
Oder muss ich die Zeilen von sl einzeln auf Memo1.Lines kopieren?