Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: Problem bei Datei kopieren. SHFileOperation, CopyFile,..

  Alt 7. Mär 2005, 11:04
Beim Kopieren von Dateien muss man auf die Share-Attribute achten.
Du behauptest zwar, die Dateien wären alle geschlossen, aber das ist noch kein Beweis.
Beim Kopieren solltest du eventuelle Fehler mit protokollieren!!

Deshalb:
Delphi-Quellcode:
ThreadCopy = class(TThread)
private
   ...
   FErrors : string; // speichert die Kopierfehler
public
   ...
   property Errors : string read FErrors;
end;

function ThreadCopy.CopyFile(const Source, Dest: String): Boolean;
var F, T: TFileStream;
begin
  Result := false;
  try
    try
      F := TFileStream.Create(Source, fmOpenRead and fmShareDenyNone);
      T := TFileStream.Create(Dest, fmCreate);
      T.CopyFrom(F, 0);
      Result := true;
    finally
      F.Destroy;
      T.Destroy;
    end;
  except
    on E:Exception do
    begin
       // wir merken uns die Fehlermeldung aus der Exception
       // und die Dateinamen, die kopiert werden sollten !!!
       FErrors := FErrors+Source+'->'+Dest+' : '+E.Message+#13#10;
    end;
  end;
end;
Andreas
  Mit Zitat antworten Zitat