Datei lässt sich nicht löschen



  • Hallo,

    ich habe mit BCB 5.0 Pro / Indy 9 ein Programm geschrieben, welches Dateien von der Festplatte auf einen FTP-Server hoch lädt. Nach dem Hochladen müssen die Dateien gelöscht werden.

    Das Problem ist, wenn während des Hochladevorgangs die FTP-Verbindung abbricht,
    dann bleibt diese Datei geöffnet, und lässt sich nicht mehr löschen. Auch wenn ich versuche die Datei manuell zu löschen, dann kommt Fehlermeldung " Datei wird vom Programm "meinProgramm.exe" verwendet".

    Weiss jemand wie man die Datei trotzdem löschen könnte?



  • überarbeite dein Design so, dass wenn in deinem Programm ein Fehler auftritt, es nicht abstürtzt, sonder sich sauber beendet.

    oder halt die würg-methode.. Task-Manager aufmachen, "meinProgramm.exe" abschiessen und datei von hand löschen



  • Mein Programm stürzt auch nicht ab. Wenn die FTP-Verbindung abbricht, dann setze ich meinen Upload-Thread sauber zurück. Nur die TidFtp-Komponente gibt die Datei nicht frei. Ich glaube das ist ein Bug von Indy.

    Trotzdem müsste es doch irgendwie möglich sein, eine geöffnete Datei aus meinem Programm heraus zu löschen.



  • Vielleicht solltest du die Datei zunächst in einen Stream laden, mittels diesem die Kopie der Datei auf den Server
    schieben und bei erfolgreichen Upload erst die Original-Datei löschen...



  • Gute Idee, danke


Log in to reply