Autor Thema: Ordner im Filesystem bleibt gesperrt  (Gelesen 1856 mal)

Offline v_haderer

  • Junior Mitglied
  • **
  • Beiträge: 98
  • Geschlecht: Männlich
Ordner im Filesystem bleibt gesperrt
« am: 21.10.15 - 15:31:24 »
Hallo Zusammen,
ich habe folgendes Problem:
ich arbeite mich mit der Funktion "Dir" durch einen Ordner im Filesystem (sh weiter unten) - soweit so gut - bis innerhalb meiner Schleife irgendwas schiefgeht (egal was) und somit das Lesen meines Ordners nicht vollständig durchläuft. Nun bleibt dieser von mir temporär erzeugte Ordner gesperrt und kann nicht mehr gelöscht werden (weder von LN selber noch von mir als als angemeldeten Windows-Admin) bis ich meinen NotesClient neu gestartet habe.
Besteht hier irgendwie die Möglichkeit einens vernünftigen Errorhandlings? Wie kann ich so einen "geöffneten" Ordner wieder freigeben?

vielen lieben Dank
V


.
...
.....
   datei = Dir(tempPfad, 0)
   Do While datei <> ""
      ctr = ctr + 1      
         
         dateiInhalt  = px_readFileContent(ftxt,tempPfad & datei) 
         
         Forall aktZeile In dateiInhalt
            rtf.AppendText aktZeile
            rtf.AddNewline 1
         End Forall         
         
      datei = Dir()
   Loop      
         

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Ordner im Filesystem bleibt gesperrt
« Antwort #1 am: 21.10.15 - 16:14:45 »
Ein "Dir" sperrt mit sehr großer Sicherheit keinen Ordner.

Ich würde den Fehler eher in Deiner Funktion "px_readFileContent" suchen... vermutlich machst Du da eine andere Applikation auf, die im Fehlerfall nicht richtig beendet wird.
Oder aber Du benutzt ein "open", ohne ein close aufzurufen...

Der gepostete Code alleine verursacht keinen Lock eines Ordners, da bin ich sicher.

Beweis: Dieser Code kann bei jedem beliebigen msgbox angehalten werden, und der Ordner "temp" gelöscht werden, obwohl der Dir noch nicht durch ist...
Code
Dim datei as String
Dim tempPfad as String
Dim ctr as Integer
Dim dateiInhalt as Variant

tempPfad = "D:\Temp\test\"

msgbox tempPfad

datei = Dir(tempPfad, 0) 
   Do While datei <> ""
      ctr = ctr + 1      
         
         dateiInhalt  = Split( "bla,blub" , "," )

         msgbox datei
         
      datei = Dir() 
   Loop       
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline v_haderer

  • Junior Mitglied
  • **
  • Beiträge: 98
  • Geschlecht: Männlich
Re: Ordner im Filesystem bleibt gesperrt
« Antwort #2 am: 22.10.15 - 07:01:59 »
Guten Morgen,
danke für deine Antwort.....
.... ähm nö...bei mir ist der Ordner gesperrt wenn ich versuche ihn bei offener Messagebox zu löschen?!?!

Offline v_haderer

  • Junior Mitglied
  • **
  • Beiträge: 98
  • Geschlecht: Männlich
Re: Ordner im Filesystem bleibt gesperrt
« Antwort #3 am: 22.10.15 - 07:07:04 »
...nun einige Minuten später steht ein Kaffee auf meinem Tisch,..die Messagebox ist noch immer geöffnet und der Ordner konnte von mir manuell gelöscht werden.
Ich habe nun den Code nochmals bis zur Messagebox laufen lassen -> Zugriff verweigert beim abermaligen Löschversuch   :'(

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz