Ich sehe in Deinem Code zudem drei potentielle Probleme
- Die IdFTP Komponenten wird nicht auf <> nil geprüft (Zugriffverletzung beim ersten Zugriff)
- Der String wird nicht auf Länge > 0 geprüft (Zugriffverletzung beim Abgreifen des letzten Zeichen). Siehe zusätzlich AnsiLastChar
- Um die erstellte StringListe ist kein Ressourcenschutzblock (try/finally) (Potentielles Speicherleck)
Weiterhin sind die Variablen TempDir1 bis 3 nicht gerade eindeutige Bezeichner...
Und noch was: Für neuere Delphi Versionen wäre so etwas eventuelle eine schöne Gelegenheit einen
class helper zu verwenden
Viele Grüße