Einzelnen Beitrag anzeigen

IngoD7

Registriert seit: 16. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: FTP-Übertragung "sanft" beenden

  Alt 26. Jan 2007, 17:00
Als allererstes würde ich bei abort=true sofort die Schleife verlassen.
TIdFTP.Abort kannst du dann immer noch außerhalb der Schleife ausführen. Vorteil: Du führst es nur einmal aus, und nicht - so wie jetzt - für jedes verbleibende File in der Schleife.

Möglicherweise wurde das TIdFTP.Abort sowieso nie während der Übertragung eines Files ausgelöst, sondern immer nur davor, wenn er in der Schleife zum nächsten File wollte. Soll heißen: Möglicherweise wurde TIdFTP.Put erst zuende ausgeführt, bevor der nächste Schleifendurchlauf anlief und er überhaupt gemerkt hat, dass Abort=true ist.

Wenn du sicher gehen willst, dass mit Button-Click wirklich abgebrochen wird, dann baue das TIdFTP.Abort direkt in die Click-Routine des Buttons ein. Vielleicht ist das aber ja auch gar nicht nötig und du kannst durchaus erlauben, dass er das gerade angefangene File zuende überträgt? Dann brauchst du TIdFTP.Abort gar nicht. In jedem Fall aber musst du trotzdem in der Click-Routine des Buttons das Abort-Flag setzen und die Schleife verlassen.

Versuche mal, ob das etwas bringt.
  Mit Zitat antworten Zitat