Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Zugriffsfehler bei Kopiervorgang

  Alt 14. Feb 2013, 11:57
@bAlaRk

Um das mit einfachen Mitteln und ohne viel Aufwand zu beheben, mach doch einfach folgendes:

Immer wenn du das Verzeichnis scannst, suche den Dateinamen in einer TStringList .
  1. Ist der Dateiname dort nicht vorhanden, dann schreibe diesen dort hinein.
  2. Ist der Dateiname dort vorhanden, dann entferne diesen Eintrag und kopiere die Datei.
Wenn du jetzt alle 2 Minuten schaust, dann wird eine neue Datei beim ersten Lauf in die TStringList geschrieben, aber noch nicht kopiert.
Beim nächsten Lauf wird der Dateiname in der TStringList gefunden und folglich erst jetzt kopiert.

Nach 2 Minuten sollte der Upload der Datei per FTP ja wohl erledigt sein und die Häufigkeit der Ausnahmen ist schon mal erheblich verringert.

Das Kopieren selber solltest du auch in einem try .. except Block erledigen.Die Exceptions werden davon gefangen dein Programm bleibt auch nicht hängen.
Delphi-Quellcode:
try
  
  // hier der Code zum Kopieren der Datei

except
  on E: Exception do
    begin
      // hier könnte ein Code sein, um diese Fehlermeldung in einem Log zu speichern
    end;
end;
Es ist natürlich nicht die beste Lösung (wegen Pollen) aber eine für dich leicht umsetzbare und darauf kommt es am Ende immer an

BTW: Es sollte für dein Programm sogar ausreichen, die Exception mit dem try .. except zu fangen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat