![]() |
Datei geöffnet?
Wie kann man herausfinden ob eine Datei geöffnet ist oder nicht??
Delphi-Quellcode:
Mit dieser Abfrage klappt es bei mir nicht da, TFileRec(Datei) eine Zahl als Result liefert und nicht ein Open oder Close!!
If TFileRec(Datei).Mode <> fmClose then
Kann mir da einer auf die Sprünge helfen?? |
Re: Datei geöffnet?
Das hier hat bei mir funktioniert:
Delphi-Quellcode:
function IsFileOpen(const FileName: string): Boolean;
var Stream: TFileStream; begin Result := false; if not FileExists(FileName) then exit; try Stream := TFileStream.Create(FileName,fmOpenRead or fmShareExclusive); except Result := true; exit; end; Stream.Free; end; |
Re: Datei geöffnet?
In der Delphi Hilfe steht:
Delphi-Quellcode:
Wenn man dann weiter schaut, dann kommt man hierhin:
type TFileRec = packed record
Handle: Integer; Mode: Word; //<---- Flags: Word; case Byte of Zitat:
Klaus |
Re: Datei geöffnet?
@DeddyH: Das funktioniert aber nur, wenn der andere Prozess die Datei exklusiv geöffnet hat. Ansonsten müsste man wohl einen Treiber programmieren, um zu gucken welche Prozesse ein Handle auf die Datei haben.
@Stillmatic: Wenn es nur um dein Programm geht, dann merk dir doch einfach, ob du sie schon geöffnet hast. Das erfordert natürlcih, dass du sie auch immer wieder konsequent schlieest. |
Re: Datei geöffnet?
Hier noch ein Link auf einen Thread zum gleichen Thema:
![]() Grüße vom marabu |
Re: Datei geöffnet?
Zitat:
|
Re: Datei geöffnet?
Hallo,
ich ging davon aus, dass Stillmatic beim Verlassen seines Programms noch eventuell geöffnete Dateien schließen möchte, damit gepufferte Inhalte korrekt auf die Datenträger geschrieben werden. Wenn es um etwas anderes geht, dann ignoriert meinen Beitrag #5 bitte. Verlegene Grüße |
Re: Datei geöffnet?
Zitat:
|
Re: Datei geöffnet?
eine Lösung wurde zwar schon genannt,
aber wenn du mal nach [dp]Datei geöffnet[/dp] gesucht hättest, dann wären dir eventuell mehrere Beiträge dazu aufgefallen ... z.B. auch diese Beiden: ![]() ![]() [add] @#10+#11: also, wenn die Überschrift sogar schon genug gute Lösungen liefert, dann darf man dat wohl mal bemängeln :angel: |
Re: Datei geöffnet?
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 Uhr. |
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