Forum: Win32/Win64 API (native code)
by Harry Stahl,
18. Aug 2015
Dass die Datei existiert, weiß ich schon wenn ich die CanOpenFile-Funktion aufrufe, will es daher in dieser Funktion nicht noch einmal prüfen (wenn man die Funktion 100.000 mal aufruft, kann das schon zeitlich was ausmachen).
Die Prüfung (ob man die Datei öffnen kann) hatte ich wohl (ist schon ein paar Jahre her) vermutlich eingeführt, weil es anscheinend zu größeren Problemen kommen konnte,...
Forum: Win32/Win64 API (native code)
by Harry Stahl,
18. Aug 2015
Ja, das ist ein berechtigter Hinweis. Man sollte sich die verwendeten Parameter doch ein wenig genauer ansehen.
Letztlich will ich ja auch nur wissen, ob ich die Datei öffnen kann, schreiben will ich ja gar nicht, sondern nur durchsuchen.
Insofern mache ich da jetzt einfach was passendes draus (lasse also generic_write weg) und schon läuft es wie gewünscht:
function CanOpenFile(fName:...
Forum: Win32/Win64 API (native code)
by Harry Stahl,
18. Aug 2015
Tja, man kann sich wohl nicht mehr unbedingt so auf altbekannte Funktionen verlassen.
Viele nutzen sicher in einer ähnlichen Variante eine Funktion "IsFileInUse", wie z.B. hier dargestellt:
http://solvedstack.com/questions/checking-file-is-open-in-delphi
Gerade stelle ich fest, dass diese Funktion für alle Dateien, die im Programmverzeichnis liegen, das Ergebnis "True" (also offen, bzw....