Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 33
  1. #1

    [Vb.NET] Errore di apertura di un form

    Mi scuso ancora per il disturbo, ma non riesco a risolvere questo rompicapo...

    Cliccando Button2, chiedo al programma di aprire Form4:
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Form4.Show()
    End Sub

    Purtroppo, quando, debuggando, clicco sul Button2, il programma si blocca, la finestra torna Visual Basic e l'errore visualizzato è:

    InvalidOperationException was unhandled
    Errore durante la creazione del form. Per informazioni dettagliate vedere Exception.InnerException. Errore: Riferimento a un oggetto non impostato su un'istanza di oggetto.

    Allora ho controllato il mio Form4, ma non ho trovato nulla di strano:

    Imports System.IO

    Public Class Form4
    Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
    End Sub
    [resto del codice]
    End Class

    Quale potrebbe essere il problema???

  2. #2
    EDIT:
    Googleggiando in modo approfondito, ho provato:

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    If Form4 Is Nothing Then
    MsgBox("E' nullo")
    Else
    Form4.Show()
    End If

    End Sub

    E ... sorpresa sorpresa... E' nullo!!
    Eppure l'ho dichiarato come ho scritto sopra...

  3. #3
    il problema potrebbe essere che la sub Load non è Handled.

    Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load
    End Sub


    Ma come lo hai creato Form4? Da IDE o da codice? Se la creazione da IDE è regolare la scritta Handles Me.Load dovrebbe apparire in automatico...

  4. #4
    Provato, ma niente, il form continua ad essere null...

    Ho provato anche, come extrema ratio, ad eliminare tutto il codice all'interno del form, lasciando solo:

    Public Class Form4
    Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load
    End Sub
    End Class

    Il risultato è lo stesso.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Forse è meglio che ci fai scaricare il progetto (fai uno zip) e lo vediamo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it L'avatar di escocat
    Registrato dal
    Feb 2012
    Messaggi
    308
    Mi sembra, e ripeto mi sembra, che una volta aggiunto un Form al progetto e volendolo visualizzare, non si può accedere direttamente con

    Form#.Show();

    ma bisogna applicare il metodo Show ad una variabile 'var' costruita prima come un nuovo tipo Form#:

    Form# 'var' = new Form#();

    dopo di che a 'var' è possibile applicare il metodo Show:

    'var'.Show();

    Possiamo anche scrivere 'Form#' al posto di 'var', il compilatore non confonderà il tipo Form# dal nome Form#:

    Form# Form# = new Form#();
    Form#.Show();

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma no ... puoi tranquillamente inserire Form2.Show() nel button ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E ... sorpresa sorpresa... E' nullo!!
    Perché "sorpresa"? Se non è mai stato caricato è normale ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Form4 non è l'unico form del mio programma.
    Ce ne sono altri, dichiarati nello stesso modo, richiamati nello stesso modo, con lo stesso codice, e funzionanti!!
    E' questo l'assurdo che non mi spiego proprio...

    E se creo un nuovo form, chiamato form6, e scrivo Form6.Show() ... quello si apre normalmente!

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Sicuramente c'è qualche equivoco ... fai uno zip del progetto e faccelo scaricare ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.