Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#7

Re: Streams haben "alte Daten"

  Alt 28. Jun 2005, 12:41
Zitat von Tonic1024:
Ich lade mehrer Dateien aus unserem IntraNet und speichere sie lokal. Da ich die Daten so "roh" nicht benutzen kann speichere ich sie als "foo.dat" ab, öffne sie an einer anderen Stelle wieder um den einstiegspunkt für meine Kopierroutine zu suchen und kopiere von einem TFileStream in einen anderen, der die Datei auch gleich so benennt, wie diese heissen soll. Danach lösche ich "foo.dat" wieder. Dieser Vorgang wiederholt sich in einer Schleife mehrmals mit unterschiedlichen Dateien.
Nimm keinen hart-codierten Dateinamen für die temporäre Datei (sondern dynamische Dateinamen, die WinAPI bietet GetTempPath/GetTempFileName).
Unter Last wird es Dir auf verschiedenen Windows-Versionen immer wieder passieren, dass nach einem DeleteFile() die Datei noch nicht gelöscht ist obwohl die API-Funktion wieder zurückkehrt.

ps: schreibe Dir am besten eine Klasse welche alle drei Pfade kennt (IntraNet, Temp, Ziel) und die Kopieraktionen ausführt.
  Mit Zitat antworten Zitat