Die Klasse
TStrings kann ja nicht nur Strings speichern, sondern zu jedem String noch ein Objekt.
Das bedeutet man kann Memo.Lines mit Zeilen bestücken, wobei mit jeder Zeile ein Objekt verknüpft ist.
Delphi-Quellcode:
TFileObjekt=class(TObject)
public
FileName:string; // Dateiname mit gesamtem Pfad
procedure RenameFile(const newfilename:string);
function GetFilenamePart:string; // Dateiname ohne Pfad
end;
...
var
fo : TFileObjekt;
...
fo := TFileObjekt.Create;
fo.FileName := .......;
Memo1.Lines.AddObject(fo.GetFilenamePart, fo); // statt Add() wird AddObject() verwendet
Man muss jetzt aber noch aufpassen: löscht der Benutzer eine Zeile, wird das Objekt nicht freigegeben!
=> es droht Speicherleck
Hier hilft aber die Klasse TObjectList.