Zitat von
s-off:
Danke für die Erläuterung,
da ich ein Gewohnheitstier bin, kann ich dann ja bei FreeAndNil bleiben; vorausgesetzt, ich kann Dein
Zitat:
Fast gar nicht.
als 'gar nicht' interpretieren
Immer FreeAndNil benutzen ist völlig ok.
Der andere Fall immer Free benutzen kann Probleme bringen.
Zitat von
s-off:
Weisst Du auch etwas zu 'Assign' <> 'AddStrings' zu sagen?
Sehe da ausser den von mir genannten keinen weiteren Vorteil.
[/quote]
Aus der Hilfe:
Assign:
procedure Assign(Source: TPersistent); override;
Beschreibung
Mit der Methode Assign wird einem TStrings-Objekt der Wert eines anderen Objekts zugewiesen. Ist das Quell-Objekt ebenfalls vom Typ TStrings, enthalten beide Objekte anschließend die gleiche Liste. Falls den String-Werten der Quelle Objekte zugeordnet sind, werden auch diese übernommen, wenn das Zielobjekt diese Eigenschaft unterstützt.
Wenn das mit dem Parameter Source bezeichnete Quellobjekt nicht vom Typ TStrings ist, übernimmt die geerbte Assign-Methode den Listenwert von einem beliebigen anderen Objekt, das in seiner AssignTo-Methode die Klasse TStrings unterstützt.
AddStrings:
procedure AddStrings(Strings: TStrings); virtual;
Beschreibung
Mit der Methode AddStrings lassen sich die String-Einträge eines anderen TStrings-Objekts zu einer String-Liste hinzufügen. Wenn beide TStrings-Objekte Strings mit zugeordneten Objekten unterstützen, werden mit den Strings auch die zugehörigen Objekt-Referenzen übertragen.
Wie du siehst ist es schon ein Unterschied, aber in deinem Fall jetzt ist es unerheblich und liefert dasselbe Resultat.