IsFileInUse Result bei .xml, .txt falsch
Guten Morgen Zusammen,
ich habe eine function mit der ich überprüfe, ob eine Datei/exe geöffnet ist.
Code:
Die function funktioniet auch so weit mit .exe, .ini, ..., jedoch gibt sie bei .txt und .xml Dateien imemr aus, dass die Datein geöffnet sind und ich weiß nicht warum.
function IsFileInUse(const fName: TFileName): Boolean;
var HFileRes: HFILE; begin Result := False; HFileRes := CreateFile(PChar(fName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); Result := (HFileRes = INVALID_HANDLE_VALUE); if not Result then CloseHandle(HFileRes); end; |
AW: IsFileInUse Result bei .xml, .txt falsch
Schau erst mal im Betriebssystem unter
Systemsteuerung >Verwaltung >>Computerverwaltung >>>System >>>>Freigegebene Order >>>>>Geöffnete Dateien ggF. auch besonders nach einem Neustart. Vielleicht schluießt Du (oder ein Programm ) sie nicht richtig. |
AW: IsFileInUse Result bei .xml, .txt falsch
Okay ich glaube ich hab den Fehler gefunden.
Und zwar lag es wohl an dem fName: TFileName. Ich habe jetzt fName: String gemacht und nun scheint es zu funktionieren. Nochmal die function komplett und richtig:
Code:
function IsFileInUse(const fName: String): Boolean;
var HFileRes: HFILE; begin Result := False; HFileRes := CreateFile(PChar(fName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); Result := (HFileRes = INVALID_HANDLE_VALUE); if not Result then CloseHandle(HFileRes); end; |
AW: IsFileInUse Result bei .xml, .txt falsch
.. muss ich nicht verstehen: TFileName und String sind beide UnicodeStrings.
Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz