Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Feststellen ob eine Datei unbenutzt ist (https://www.delphipraxis.net/56055-feststellen-ob-eine-datei-unbenutzt-ist.html)

Helmi 31. Okt 2005 14:08

Re: Feststellen ob eine Datei unbenutzt ist
 
oki
danke

dann werd ich mal schauen was ich ändern kann

Delphi-Freak 17. Apr 2006 18:45

Re: Feststellen ob eine Datei unbenutzt ist
 
Auch wenn das Topic schon einige Zeit her ist...
Ich finde, dass die erste Version (mit CreateFile) eigentlich zuverlässiger arbeitet, ich habe keine Probleme mit einmal schon, einmal nicht. Ein Test, wo ich eine 70MB-Datei mit meinem eigenen Editor geöffnet habe (via FileStream mit fmOpenRead or fmShareDenyNone), ergibt mit dieser Version auch True, mit der anderen aber false...
Außerdem hat sie den Vorteil, dass man nicht mit Exceptions arbeiten muss, die im Debugger trotz try...except angezeigt werden...

LG, ich

Mackhack 17. Apr 2006 18:54

Re: Feststellen ob eine Datei unbenutzt ist
 
Hi,

vielleicht hilft dir das weiter...

MSDN-Library durchsuchenFindNextChangeNotification

Delphi-Freak 17. Apr 2006 18:58

Re: Feststellen ob eine Datei unbenutzt ist
 
Irgendwie check ich da den Zusammenhang nicht... habe ich eine Frage gestellt, eigentlich hätte ich keine stellen wollen :gruebel:

zeras 1. Jan 2009 16:54

Re: Feststellen ob eine Datei unbenutzt ist
 
Zur Info, wenn jemand Probleme mit dieser Funktion unter Win98 hat.

Ich hatte Probleme mit dieser Funktion, wenn das Programm unter Win98 läuft.

Aber das wissen die Win-Experten besser, warum.

Delphi-Quellcode:
function IsFileInUse(const FileName: String): Boolean;
var
  HFileRes : HFILE;
begin
  Result := false;
  if not FileExists(FileName) then exit;

  //Probleme mit Win98, aber unter XP OK
  //HFileRes := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE,0, nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
 
  //läuft offensichtlich unter 98 und XP
  HFileRes := CreateFile(PChar(FileName), 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;


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:55 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz