Ich habe ein seltsames Problem:
Ich erstelle eine Datei im temp Ordner, bau die dort aus einer existierenden neu auf und verschiebe sie dann an den ursprünglichen Ort.
So weit alles klar.
Dafür gibt es 2 Varianten:
1) Datei umkopieren, dann QuellDatei löschen -->Langsam
Delphi-Quelltext
1: 2:
| Result:=CopyFile(PChar(tmpDir+fdestName),PChar(fSrcName),false); Windows.DeleteFile(PChar(tmpDir+fdestName)); |
2) ZielDatei löschen, Quelldatei "umbennen" -->Schneller
Delphi-Quelltext
1: 2:
| if(FileExists(fsrcName)) then Windows.DeleteFile(PChar(fsrcName)); Result:=RenameFile(PChar(tmpDir+fdestName),PChar(fSrcName)); |
Beide Varianten funktionieren mit dem gewünschtem Effekt
Nur habe ich bei der 2. Variante das Problem, dass sich die Anwendung
danach vollständig aufhängt.
Ich habe alles rausgenommen, dass danach noch auf die Datei zugreifen könnte o.ä. wenn ich den Code 2) durch 1) ersetze kommt es auch nicht zu dem Fehler.
Woran liegt das?
System: Win7 Pro 64Bit; D2009