Wie erstellst du denn die Datei?
Wenn man dafür FILE_ATTRIBUTE_TEMPORARY (
CreateFile) verwendet, dann löscht Windows die Datei automatisch, selbst wenn dein Progamm abstürzt.
In wie weit FILE_FLAG_DELETE_ON_CLOSE helfen könnte, kann ich jetzt nicht sagen.
Alternativ gäbe es auch andere Hilfesysteme, als diese HLP-Dateien.
So ich habe die Dateierstellung auf CreateFile umgeschrieben, auch in Verbindung mit FILE_ATTRIBUTE_TEMPORARY und FILE_FLAG_DELETE_ON_CLOSE. Ersteres hat leider keinen Einfluss, die Datei lässt sich nachwievor nicht löschen. Bei FILE_FLAG_DELETE_ON_CLOSE wird die Datei garnicht erst erstellt und ich kann die Hilfe nicht laden. Das passiert folgendermaßen:
Delphi-Quellcode:
FHandle:=CreateFile(PChar(Filename),
GENERIC_WRITE,
0,
nil,
CREATE_ALWAYS,
FILE_ATTRIBUTE_TEMPORARY,
0);
Sicher gibt es andere Hilfesysteme, ich habe nun aber alles auf diese CHM-Datei ausgerichtet und dachte, ein einfacher Löschvorgang wäre nicht problematisch. Leider doch...