Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Dateisperre aufheben. (https://www.delphipraxis.net/170926-dateisperre-aufheben.html)

Bernhard Geyer 10. Okt 2012 13:57

Dateisperre aufheben.
 
Ich habe hier das Problem das aus einem bisher nicht nachvollziebaren Grund eine Datei zum lesen gesperrt wird (Meldungsdialog mit "Datei gesperrt! Warten oder Abbrechen". Dies geschieht erst nach einigen Stunden im Laufe eines Langläuferprozesses

Jetzt wollte ich für diesem Falls als Notfallbehelf diese Sperre löschen.
über die Befehle

Zitat:

Zitat:

net file ID /CLOSE

bzw.

Zitat:

openfiles /disconnect /A <Username>
ist es möglich auf Serverseite diese Sperre aufzuheben. Leider schaut für die Clients die Datei immer noch gesperrt aus :-(

Das dumme ist ja das es so aussieht als wäre der eigenen Prozess der blockiert wird der Verursacher (was ich bisher vom Programmcode mir nicht erklären kann) so das ich nicht einfach die Blockierende Anwendung beenden kann :-(

Welche Möglichkeiten gäbe es noch eine Dateisperre zu lösen die auch dafür sorgt das es auch die anderen Client-Rechner bemerken?
Evtl. Caches des Windows Lan-Managers aktualisieren?

Luckie 10. Okt 2012 14:42

AW: Dateisperre aufheben.
 
Schließt du auch alle Dateihandles? Und wenn du die Datei mit einem FileSteam öffnest, wird das handle erst nach dem Freigeben des Steeams geschlossen.

Bernhard Geyer 10. Okt 2012 15:43

AW: Dateisperre aufheben.
 
Zitat:

Zitat von Luckie (Beitrag 1186531)
Schließt du auch alle Dateihandles? Und wenn du die Datei mit einem FileSteam öffnest, wird das handle erst nach dem Freigeben des Steeams geschlossen.

Der Quellcodeteil ist schon so stark abgesichert das hier eigentlich nix mehr passieren kann, also das das Handle nicht mehr freigegeben wird. Ich habe hier eher die Vermutung das Virenscanner und Co. hier querschießen.

Die Dateisperre freigeben soll ja nur ein absoluter Notnagel sein (Langläufer soll möglichst morgen fertig sein).

Bernhard Geyer 12. Okt 2012 11:09

AW: Dateisperre aufheben.
 
Doch noch das Problem gefunden.

Es wurde doch noch eine Zeile nicht per try/finally geschützt.
Und zwar genau beim Laden der Datei im Memorystream zur schnellen Freigabe der dateisperre ist ein OutOfMemory aufgetreten.
Da hat es dann nix genützt das die nächste Zeile das Dateihandle wieder freigegeben hat :wall:

DeddyH 12. Okt 2012 13:17

AW: Dateisperre aufheben.
 
Shit happens, davon kann sich wohl niemand freisprechen. Gut, dass Du es gefunden hast.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 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