vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Sperren von Schreibzugriffen funktioniert nicht korrekt 
Autor: TobiasS
Datum: 16.03.11 15:58

Hallo alle zusammen,

ich benutze zum Sperren von Schreibzugriffen auf eine Datei folgende Klasse:
Public Class FileLocker
 
    Dim FileStream As System.IO.FileStream
 
    Sub New()
    End Sub
 
    Public Function Release() As Boolean
        Release = False
        Try
            FileStream.Close()
            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function
 
    Public Function Lock(ByVal Filename As String) As Boolean
        Lock = False
        Try
            Try
                FileStream.Close()
            Catch ex As Exception
            End Try
            FileStream = New System.IO.FileStream(Filename, IO.FileMode.Open, _
              IO.FileAccess.ReadWrite, IO.FileShare.Read)
            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function
 
End Class
Beim Klicken auf Button1 in Form1 wird entsprechend die Datei für Schreibzugriffe gesperrt, kann aber z.B. mit Notepad noch eingelesen werden. Butten2 gibt das Schreibn wieder frei. (So weit so gut, alles wie es sein soll.)

Beim Klick auf Button3, sollte bei gesperrter Datei aber doch ein Lesezugriff auf die Datei möglich sein, oder? Ich bekomme immer "...Datei wird von anderem Prozess verwendet...", obwohl ich eigentlich mit "IO.FileShare.Read" das lesen weiterhin gestatte und auch mit Notepad lesen kann!?

Hat da jemand eine Lösung? Wie ich auch aus einem VB.net Programm (nicht nur mit Notepad) die Datei lesen kann wenn sie gegen Schreibzugriffe gesperrt ist?


Ich danke schonmal allen rauchenden Köpfen im Vorraus, ich komm nämlich nicht mehr weiter.


Public Class Form1
 
    Dim filelocker3 As New FileLocker
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        Label1.Text = filelocker3.Lock("C:\test.txt").ToString
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button2.Click
        Label2.Text = filelocker3.Release.ToString
    End Sub
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button3.Click
        Dim Filestream1 As New System.IO.FileStream("C:\test.txt", _
        System.IO.FileMode.Open, IO.FileAccess.Read)
    End Sub
 
End Class

Danke, an ALLE !!

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Sperren von Schreibzugriffen funktioniert nicht k...904TobiasS16.03.11 15:58
gelöst - Re: Sperren von Schreibzugriffen funktionier...570TobiasS16.03.11 17:33

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel