Einzelnen Beitrag anzeigen

Graf Gustav

Registriert seit: 13. Mär 2011
51 Beiträge
 
Delphi 10.4 Sydney
 
#1

MoveFile hinterlässt Zombie

  Alt 12. Feb 2018, 10:05
Hallo,
ich bin auf einen neuen Rechner umgezogen (alles neu aufgesetzt, gleiches Win10 Pro wie auf dem vorherigen) und habe seitdem einige spukhafte Effekte.
Einer davon ist, dass MoveFile einer bmp-Datei (erzeugt mit SaveToFile einer TImage) einen Zombie hinterlässt:
eine Datei, die sich nicht löschen lässt und mir als Admin die Information über Besitzer und Zugriffsrechte verweigert.
Nach System-Restart ist sie weg.
Den MoveFile erledigt eine interne Funktion, die noch für eine ganze Reihe von Dateien (pdf, txt) aufgerufen wird, was problemlos funktioniert (Auch die Ziel-bmp-Datei wird erzeugt).
Eine Zeit lang hat dieser etwas brachiale Workaround mit dem DeleteFile geholfen, aber jetzt hat es mich eingeholt, der Zombie triumphiert.

Delphi-Quellcode:
function File_Move(const cmd: string): boolean;
  begin
    Result := MoveFile(PChar(src), PChar(dst));
    if not Result then begin
      s := SysErrorMessage(GetLastError);
      MessageDlg(Format(_MSG_ERR, [cmd, src, dst, s]), mtError, [mbOK], 0);
    end else DeleteFile(src); // ggf. Zombie töten
  end;
end;
Die Datei wird erzeugt mit:
img.Picture.SaveToFile(fn); Es muss am System liegen, denn auf dem bisherigen System funktioniert diese Anwendung rückstandsfrei.
(Ein anderer Spuk ist übrigens, dass ich bei W32-Aufrufen das Ergebnis im falschen Zeichensatz zurückbekomme, da mache ich aber einen gesonderten Thread auf,
weil mir das, was ich dazu bisher gefunden habe, nicht geholfen hat.)
Hat jemand eine Idee?
Reinhold
  Mit Zitat antworten Zitat