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.
Cos'è che genera il problema? Provando con il tipo String invece di StringBuilder funziona, ma vorrei capire perchè con StringBuilder genera errore...
Grazie.
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