Einzelnen Beitrag anzeigen

irata

Registriert seit: 5. Okt 2006
4 Beiträge
 
#1

"SHFileOperation" beschwert sich bei geöffneten Da

  Alt 5. Okt 2006, 09:05
Hallo,

ich habe ein kleines Delphi Programm geschrieben, welches alle paar Minuten ein Verzeichnis auf neue Dateien überprüft, und wenn welche da sind, werden diese per Indy "TIdMultiPartFormDataStream" an einen Web-Server übertragen werden.

Nun will ich natürlich nur Dateien übertragen, die auch wirklich komplett geschrieben wurden. Bei grösseren Dateien kann dies ja einen Moment dauern. Daher verschiebe ich die Dateien aus dem Verzeichnis erst in ein Temp-Verzeichnis und von da aus auf den Web-Server. Zum Verschieben der Dateien benutzte ich "SHFileOperation". Mit

sh.fFlags := fof_Silent or FOF_NOCONFIRMATION or FOF_NOERRORUI;

Allerdings erscheint trotzdem immer eine Message-Box, mit "<datei> kann nicht kopiert werden: Die Datei wird von einer anderen Person bzw. einem anderen Programm verwendet." Und genau diesen Fehler möchte ich gerne umgehen. Falls es zu dem Fehler kommt, soll einfach eine Exception ausgelöst werden und dann mit der nächsten Datei fortgefahren werden. Und diese Datei dann im nächsten Schritt übertragen werden. Momentan blockiert das ganze Programm, solange die Fehlermeldung nicht bestätigt wurde...

Hat da irgendwer einen Tipp!?!?!

Danke und Gruss

Tobias
  Mit Zitat antworten Zitat