| |

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 !! |  |
 | 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 |
  |
|
TOP! Unser Nr. 1 
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
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
|
|