Da das jetzt klappt, entferne bitte noch den Vergleich auf True. Sowas macht man nicht
while FormFtpprogress.Visible = true do // Warte auf Timer
Also für mich ist das Gegenteil der fall. für mich ist es nicht eindeutig wenn auf "nichts" geprüft wird.
while FormFtpprogress.Visible do
Aber Danke für den Tipp vielleicht sollte ich mich da mal umgewöhnen.
Es wird aber nicht auf nichts geprüft.
Die Schleife läuft solange, solange alles zwischen while und do wahr ist.
FormFtpprogress.Visible ist entweder wahr (true) oder falsch (false). Das reicht für eine Abfrage vollkommen aus.
Bei Deiner Variante fragst Du immer sowas in der Art:
while true = true do
Weil true aber bereits true ist, muss Du es nicht noch mit true vergleichen.
Andersherum fragst Du sowas in der Art:
while false = true do
Da false aber nie true ist, erübrigt sich der Vergleich von false mit true.