Migrazione da VB6 a VB.NET

mercoledì 16 marzo 2011 - 11.31
Tag Elenco Tags  VB.NET  |  .NET 1.0  |  .NET 1.1  |  .NET 2.0  |  .NET 3.0  |  .NET 3.5  |  .NET 4.0  |  Visual Studio 2010

mferrara00 Profilo | Newbie

Ciao a tutti,
ho una dll che devo convertire da VB6 a VB.NET.
Ho il seguente problema su una funzione, mi dice:
warning BC42104: Variable 'Arr' is used before it has been assigned a value. A null reference exception could result at runtime.

ecco la funzione in VB6
Public Function Data2Arr(pText As Variant, pArr As Variant) As Integer ' Trasforma una stringa contenente una serie di valori seperati dal pipe ' in un array Dim Arr() As Variant Dim i As Integer Dim LastPipe As Integer Dim fine As Integer Dim Pipe As String Pipe = "|" Data2Arr = 1 i = 0 LastPipe = 1 ' Carico il primo dato If pText <> "" Then ReDim Preserve Arr(i) If InStr(LastPipe, pText, Pipe) > 0 Then Arr(i) = Left(pText, InStr(LastPipe, pText, Pipe) - 1) LastPipe = InStr(LastPipe, pText, Pipe) Else Arr(i) = pText End If i = i + 1 End If Do While LastPipe <> Len(pText) + 1 ReDim Preserve Arr(i) If InStr(LastPipe + 1, pText, Pipe) Then fine = InStr(LastPipe + 1, pText, Pipe) Else fine = Len(pText) + 1 End If Arr(i) = Mid(pText, LastPipe + 1, fine - LastPipe - 1) LastPipe = fine i = i + 1 Loop pArr = Arr Erase Arr End Function

ed ecco come l'ho convertita in VB.NET
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
il problema si verifica alla fine quando devo assegnare il valore Arr as pArr

Qualcuno di voi saprebbe darmi una mano?
Grazie mille.
Marco

ysdemarc Profilo | Expert

scusa ho sbagliato ma non si può eliminare la risposta

jd_vv Profilo | Newbie

Quello che segnali è un comune warning, ti sta solo dicendo che, potenzialmente, alla variabile potrebbe NON venir mai assegnato un valore. Non capisco perché hai utilizzato il tipo object e non string?!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5