Einzelnen Beitrag anzeigen

Berni68

Registriert seit: 9. Jan 2006
Ort: Villingen
162 Beiträge
 
Delphi XE5 Professional
 
#1

Problem mit CopyFile

  Alt 4. Sep 2016, 09:53
Hallo zusammen,

ein Programm, das nunmehr ca. 3 Jahre einwandfrei funktioniert hat, stürzt jetzt reproduzierbar ab.
In einer Prozedur werden lokale Dateien auf den Server kopiert und lokal gelöscht.
Ziel sieht so aus:
\\Server\pfad\unterverzeichnis\datei_i.pdf

Delphi-Quellcode:
procedure TJobServerForm.VerschiebePdf;
var
  files: TStrings;
  i:integer;
  ziel, zielpfad: string;
  ok: boolean;
begin
  files:= TStringList.Create;
  GetFilesMatchInPath(LokalPdfDir, '*.pdf', files, false);
  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 ForceDirectories(zielpfad);
        ziel:= zielpfad + ExtractFileName(files[i]);
ShowMessage('#');
        ok:= CopyFile(PChar(files[i]), PChar(ziel), false);
        if ok then DeleteFile(files[i]);
      except
        RaiseLastOSError;
      end;
    end;
  finally
    files.Free;
  end;
end;
Die Schleife wird das erste mal korrekt durchlaufen (Datei wird korrekt kopiert und lokal gelöscht), beim zweiten mal immer Absturz,
und zwar genau bei der Anweisung nach ShowMessage('#');
except wird nicht durchlaufen.
Es sieht so aus als ob das nur bei .pdf-Dateien passiert, da an anderer Stelle mit ähnichem Code nicht pdf dateien problemlos verarbeitet werden.
Da sich an dem Gesamtsystem nichts verändert hat ausser Betriebssystem und Virenscanner Updates sollte es wohl daran liegen.
Der Virenscanner ist TrendMicro
Angenommen es liegt am Virenscanner (meine Vermutung, die aber erst morgen durch Abschalten überprüft werden kann) nun die Frage:
Was kann man tun, ausser den Virenscanner für .pdf zu deaktivieren?
(CopyFile durch TMemoryStream Load / Save zu ersetzten, hab ich probiert: bringt nichts, identisches Ergebnis)
(Ich gehe davon aus, dass man den Virenscanner nicht dauerhaft deaktivieren wird)
Bernhard
  Mit Zitat antworten Zitat