Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datei in Benutzung (https://www.delphipraxis.net/119875-datei-benutzung.html)

Fuchtel 3. Sep 2008 06:16

Re: Datei in Benutzung
 
Folgendes habe ich mal irgendwo gefunden und setze es Erfolgreich ein:

Delphi-Quellcode:
function IsFileUsed(const FileName:String): Boolean;
const
  AccessMode: array[0..2] of LongWord = (
    GENERIC_READ,
    GENERIC_WRITE,
    GENERIC_READ or GENERIC_WRITE);
  ShareMode: array[0..4] of LongWord = (
    0,
    0,
    FILE_SHARE_READ,
    FILE_SHARE_WRITE,
    FILE_SHARE_READ or FILE_SHARE_WRITE);
var
  Mode : LongWord;
  iRes : INTEGER;
begin
  Mode := fmOpenRead or fmShareDenyWrite;
  iRes := -1;
  if ((Mode and 3)         <= fmOpenReadWrite) and
    (((Mode and $F0) shr 4) <= fmShareDenyNone) then
    iRes := Integer(CreateFile(PChar(FileName),
                      AccessMode[Mode and 3],
                      ShareMode[(Mode and $F0) shr 4],
                      nil,
                      OPEN_EXISTING,
                      FILE_ATTRIBUTE_NORMAL,
                      0));
    If iRes < 0 then
        Result := True
      else
        Result := False;
  If Not Result then CloseHandle(THandle(iRes));
end;
Am sichersten ist es, für ein und dasselbe Programm (be mehrmaligem Start), wenn man eine Datei mit ihren Attributen verriegelt

Gruß Fuchtel

DeddyH 3. Sep 2008 07:01

Re: Datei in Benutzung
 
Es würde doch genügen, nach dem Versuch, die Datei zu öffnen, zu prüfen, ob das auch funktioniert hat, bevor man damit arbeitet.

Die Muhkuh 3. Sep 2008 08:19

Re: Datei in Benutzung
 
Hallo,

nach einer kurzem Session im Teamviewer haben wir das mit FreeAndNil auch rausgefunden. Trotzdem danke :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 Uhr.
Seite 4 von 4   « Erste     234   

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