Im Anhang mal eine funktionierende Variante.
Ich würde allerdings
sehr dazu raten nicht eine einfache Stringliste zu nehmen. Viel einfacher sind echte Properties in der Datenklasse. Da ich nicht wusste was du da für Daten hast, konnte ich das schlecht passend umbauen. Beispiel:
Delphi-Quellcode:
type
TExampleData = class
private
var
FDisplayText: string;
public
property DisplayText: string read FDisplayText write FDisplayText;
end;
// und dann benutzen:
// statt:
FData.Strings[3] := 'bla';
// dann besser:
FData.DisplayText := 'bla';
Auf die Weise hast du nicht irgendwelche Zeilen in einer Liste, sondern direkt die konkreten Bezeichnungen für die Daten...
Zum Speichern und Laden kannst du die Daten dann natürlich in eine TStringList schreiben, wenn du keine bessere Lösung (
XML, eigenes Format, ...) benötigst.