Hallo, habe folgendes Problem unter VB2008EE. Das Beschreiben oder löschen von Inieinträgen funktioniert nicht immer. An was kann das liegen?
Besten Dank für jeden Hinweis
Option Strict Off
Imports System.Net
Imports System.IO
Imports System.Text
Imports System.Runtime.InteropServices 'DllImport
_
_
Public Class AccessViolationException
Inherits SystemException
End Class
Public Class T
'Funktion Ini Lesen
_
Public Shared Function GetPrivateProfileString(ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As System.Text.StringBuilder, _
ByVal nSize As Integer, _
ByVal lpFileName As String) As Integer
End Function
'Funktion Ini Schreiben
_
Public Shared Function WritePrivateProfileString(ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpString As String, _
ByVal lpFileName As String) As Boolean
End Function
_
Public Shared Function DeletePrivateProfileSection( _
ByVal Section As String, _
ByVal NoKey As Long, _
ByVal NoSetting As Long, _
ByVal FileName As String) As Long
End Function
End Class
Module modFunctionen
Public Declare Function GetVolumeInformation Lib „kernel32.dll“ Alias „GetVolumeInformationA“ (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Short, ByRef lpVolumeSerialNumber As Integer, ByRef lpMaximumComponentLength As Integer, ByRef lpFileSystemFlags As Integer, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Integer) As Integer
Public Declare Function GetSystemDirectory Lib „kernel32“ Alias „GetSystemDirectoryA“ (ByVal lpBuffer As String, ByVal nSize As Integer) As Integer
'Ini Dateien Bearbeitung ------------------------------------------
'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(1024) 'New System.Text.StringBuilder(256)
T.GetPrivateProfileString(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) As Boolean 'IniDatei Schreiben
Dim s As Boolean, lo As Long
lo = 1
Do Until s = True
s = T.WritePrivateProfileString(Sektion, Eintrag, Wert, Dateiname)
lo = lo + 1
If lo > 100000 Then
MsgBox(„Datei konnte nicht beschrieben werden“, MsgBoxStyle.Critical, „Dateifehler“)
s = True
Exit Do
End If
Loop
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 As Boolean, lo As Long
lo = 1
Do Until x = True
x = T.WritePrivateProfileString(Sektion, Eintrag, vbNullString, Dateiname)
lo = lo + 1
If lo > 100000 Then
MsgBox(„Datei konnte nicht beschrieben werden“, MsgBoxStyle.Critical, „Dateifehler“)
x = True
Exit Do
End If
Loop
IniEintragLöschen = x
End Function
Public Function IniSektionLöschen(ByVal Dateiname As String, ByVal Sektion As String) 'Ini Datei Sektion löschen
Dim x As Boolean, lo As Long
lo = 1
Do Until x = True
x = T.WritePrivateProfileString(Sektion, 0, 0, Dateiname)
lo = lo + 1
If lo > 100000 Then
MsgBox(„Datei konnte nicht beschrieben werden“, MsgBoxStyle.Critical, „Dateifehler“)
x = True
Exit Do
End If
Loop
IniSektionLöschen = x
End Function