Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
25/09/10 10:47
jack92
Ciao a tutti,
Da poco mi sono avvicinato alla programmazione .net e già ho incontrato delle difficoltà :rofl:.
Premetto che uso SharpDevelop come IDE... Ho creato un nuovo form , chiamato MainForm , con delle variabili public :
Public Partial Class MainForm
    Public stringa() As String 
    Public Max As  Integer
    Public Sub New()

        Me.InitializeComponent()

    End Sub ...

e fin qui tutto ok ... creo un altro form ,nello stesso pregetto , così
Public Partial Class Test
    Dim frmMenu AS New MainForm
    Public Sub New()

        Me.InitializeComponent()

    End Sub ...

poi, quando cerco di "usare" le variabili "Max" e "stringa()" ricevo l'errore : " System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto". Più precisamente, l'esecuzione si blocca nella riga di codice:
parola_label.Text = frmMenu.stringa(i)

Gazie
p.s. Se ho sbagliato nel postare chiedo scusa , è la prima volta che apro una discussione :)
aaa
25/09/10 11:14
Il Totem
L'errore si verifica solo con stringa(), perchè questa variabile è un array, ossia un tipo reference e come tale è necessario che sia inizializzato prima di essere usato. Puoi inizializzare l'array nella sua dichiarazione specificano il suo limite superiore:
Public stringa(9) As String

oppure assegnargli il riferimento ad un nuovo oggetto:
Public stringa() As String = New String() {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

Infatti tu hai usato New per inizializzare la variabile frmMenu.

Max, al contrario, è un tipo value e per sua stessa natura non può generare quel tipo di eccezione.

Vedi anche:
totemslair.org/guide/…
totemslair.org/guide/…
aaa
25/09/10 13:09
jack92
Grazie mille per la risposta e per i link ,Totem,appena posso ti faccio sapere :k:
Ultima modifica effettuata da jack92 25/09/10 13:10
aaa
25/09/10 17:04
jack92
Ho risolto dichiarando le variabili in un Modulo :D e dando una dimensione al vettore, come aveva suggerito Totem
aaa