Oppure

Loading
20/04/11 18:26
Phil93
Ciao a tutti.
Sto provando a leggere il contenuto di un file INI (scritto precedentemente con la funzione API WritePrivateProfileString). Il problema è che la funzione GetPrivateProfileString mi restituisce 0 e genera una NullReferenceException.

Private Declare Auto Function GetPrivateProfileString Lib "kernel32.dll" ( _
            ByVal lpApplicationName As String, _
            ByVal lpKeyName As String, _
            ByVal lpDefault As String, _
            ByVal lpReturnedString As StringBuilder, _
            ByVal nSize As Integer, _
            ByVal lpFileName As String) As Integer

Public Function Read(ByVal fileName As String, _
                         ByVal section As String, _
                         ByVal key As String, _
                         Optional ByVal defaultString As String = "", _
                         Optional ByVal raiseError As Boolean = False) As String

        Dim Result As New StringBuilder(255)
        Dim ResultLength As Integer
       
        ResultLength = GetPrivateProfileString(section, key, defaultString, Result, Result.Length, fileName)

        If ResultLength = 0 AndAlso raiseError Then
            Throw Err.GetException
        End If

        Return Result.ToString.Substring(0, ResultLength)
End Function

Sub Main()
        Try
            Console.WriteLine(Read("C:\Users\User_2\Desktop\prova.ini", "Sezione1", "Chiave1", "", True))
        Catch ex As Exception
            Console.WriteLine(ex.ToString)
        Finally
            Console.ReadKey()
        End Try
End Sub


Cos'è che genera il problema? Provando con il tipo String invece di StringBuilder funziona, ma vorrei capire perchè con StringBuilder genera errore...
Grazie.
Ultima modifica effettuata da Phil93 20/04/11 18:33
aaa