![]() |
IdFTP.Put hängt bei externem Dateizugriff
Hallo allerseits,
ich lade per IdFTP.Put (Indy 10) Dateien auf den Server, was auch hervorragend funktioniert. NUR: Wenn während des Hochladens die gleiche Datei von einem anderen Programm geändert wird, dann hängt Indy und kehrt nie wieder zurück. Jetzt meine Frage: Gibt es eine Möglichkeit, mit der ich verhindern kann, dass während des Uploads kein weiterer Zugriff auf diese Datei möglich ist? Bzw. welche Möglichkeiten habe ich sonst noch, solch einen Absturz zu verhindern? mfg Herbert |
Re: IdFTP.Put hängt bei externem Dateizugriff
Ich kenne mich mit den möglichen (oder unmöglichen?) Sperrmechanismen von Windows und seinen Filesystemen nicht aus.
Eine Idee wäre aber vielleicht, kurz vor dem FTP.Put die Datei in ein Verzeichnis zu kopieren, von dem kein anderes Programm weiß und sie von dort upzuloaden. |
Re: IdFTP.Put hängt bei externem Dateizugriff
Hallo Ingo,
ich habe deine Idee jetzt aufgegriffen und jeweils die zu übertragende Datei vor der Übertragung in eine temporäre kopiert und übertrage diese temporäre Datei. Funktioniert bis jetzt. Vielleicht kennt jemand doch noch eine elegantere Methode, eine Datei für die Zeit der Übertragung zu sperren. mfg Herbert |
Re: IdFTP.Put hängt bei externem Dateizugriff
Hallo Herbert,
Zitat:
Vielleicht ist es gar nicht so gut, die Datei zu sperren. Ich meine, wenn eine Datei immer wieder oder gar laufend von anderen Programmen benutzt wird (z.B. eine Log-Datei oder sowas), dann sollte man diese Programme doch möglichst nicht durch eine Dateisperre bei ihrer Arbeit behindern, oder? Da halte ich es tatsächlich für viel besser, eine "Momentaufnahme" dieser Datei zum Upload zwischenzuspeichern - also so, wie du's jetzt auch machst. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz