Nur mal kurz drüber geschaut: Wahrscheinlich willst Du darauf hinweisen, dass wegen des Index = 0 eine potentielle Bewertung des Objects als NIL passieren kann und da bei Sortierungen was schief laufen kann.
Das ist mir soweit bewusst, daher habe ich Sortierungen immer über den String-Inhalt der Liste gemacht.
Anyway: Da jeder hinzugefügte String in der Listbox unter Firemonkey in Wahrheit ein ListboxItem ist, füge ich halt erst den String hinzu und verwende dann das
Listitem [x].tag
um den Index-Eintrag für meine Terminliste zu speichern.
Da es hier nur um die Anzeige von Informationen geht, konnte ich das ganz schnell für die FMX-Variante anpassen, unter
VCL kann es bleiben, wie es war.
Jetzt funktioniert alles wie gewünscht (siehe anlg. Screenshot mit eingelesener Termindatei).
Morgen werde ich mal IOS testen, wie es da aussieht.