Hallo
Wer kann mir weiter helfen? Ich tue mich etwas schwer mit dem accessviolationexception Fehler beim Schreiben in eine Ini datei. Wie kann man den Fehler reproduzieren? Ganz einfach: Man Nehme VB 2005 oder VB 2008 und greiffe mehrmals auf die Ini Zu zum Lesen. Dann greife man einmal auf die Ini zum Schreiben, und schon hat man den Salat. Es kommt ein Fehler. Wie zum Geier kann man diesen Ausschalten oder umschiffen?
Besten Dank für jeden Hinweis
Grüsse Sebastian
Module modFunctionen
Dim instance As AccessViolationException
'Funktion Ini Lesen
_
Private Function GetPrivateProfileStringA(ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As System.Text.StringBuilder, _
ByVal nSize As Short, _
ByVal lpFileName As String) As Long
End Function
'Funktion Ini Schreiben
_
Private Function WritePrivateProfileStringA(ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpString As String, _
ByVal lpFileName As String) As String
End Function
'Ini stückweise einlesen
Private Function GetINIString(ByVal Dateiname As String, ByVal DieSektion As String, ByVal DerEintrag As String) As String
Dim strItem As New System.Text.StringBuilder(256) 'New System.Text.StringBuilder(256)
GetPrivateProfileStringA(DieSektion, DerEintrag, „“, strItem, strItem.Capacity, Dateiname)
Return strItem.ToString
End Function
Public Function IniSchreiben(ByVal Dateiname As String, ByVal Sektion As String, ByVal Eintrag As String, ByVal Wert As String) 'IniDatei Schreiben
Dim s = WritePrivateProfileStringA(Sektion, Eintrag, Wert, Dateiname)
Return s
End Function
Public Function IniLesen(ByVal Dateiname As String, ByVal Sektion As String, ByVal Eintrag As String) 'Ini Datei Lesen
Dim s = GetINIString(Dateiname, Sektion, Eintrag)
IniLesen = s
End Function
Public Function IniEintragLöschen(ByVal Dateiname As String, ByVal Sektion As String, ByVal Eintrag As String) 'Ini Datei Eintrag löschen
Dim x = WritePrivateProfileStringA(Sektion, Eintrag, „“, Dateiname)
IniEintragLöschen = x
End Function
Public Function IniSektionLöschen(ByVal Dateiname As String, ByVal Sektion As String) 'Ini Datei Sektion löschen
Dim x = WritePrivateProfileStringA(Sektion, 0, 0, Dateiname)
IniSektionLöschen = x
End Function
End Module