Einzelnen Beitrag anzeigen

Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#20

AW: Problem mit CopyFile

  Alt 5. Sep 2016, 14:01
Wirklich sauber ist es so, wie es ist nicht, aber auch ein Scheitern von ForceDirectories und die daraus resultierenden Probleme dürften nicht dazu führen, dass sich ein Programm einfach sang- und klanglos verabschiedet.

Da muss irgendwo noch was anderes gewaltig schiefgehen, was aber so aus der Ferne nicht zu erkennen ist.
Du hast recht. Aber das Problem ist, daß man auf diese Weise nie das Problem finden wird.

Ich habe kein Delphi installiert, aber wie sähe es denn mit etwas in dieser Richtung hier aus?

Delphi-Quellcode:
function TJobServerForm.VerschiebeEntsprechendEndung(maske: String): Boolean;
var
  files: TStrings;
  i: Integer;
  ziel, zielpfad: String;
begin
  result := False;
  files:= TStringList.Create;
  GetFilesMatchInPath(LokalPdfDir, maske, files, false); // Rückgabewert?
  try
    for i:=0 to files.Count-1 do
    begin
      try
        memo.Lines.Add(IntToStr(i+1) + '/' + IntToStr(files.Count)+ ' ' + files[i]);
        zielpfad:= WithBackSlash(PdfDir) + ExportSubDirFromFileName(files[i]);
        if not DirectoryExists(zielpfad) then
        begin
          if not ForceDirectories(zielpfad) then
            RaiseLastOSError;
        end;
        ziel:= zielpfad + ExtractFileName(files[i]);
        if CopyFile(PChar(files[i]), PChar(ziel), false) then
        begin
          if not DeleteFile(files[i]) then
            RaiseLastOSError;
          result := True;
        end;
      except
        RaiseLastOSError;
      end;
    end;
  finally
    files.Free;
  end;
end;
Ich verstehe zwar noch immer nicht, wozu das "try ... except RaiseLastOSError; end;" gut sein soll, aber nen Grund wird es sicher haben.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat