ObjectdisposedException vb.net

Fermé
cyril45 - 6 mai 2014 à 11:41
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 - 8 mai 2014 à 12:17
Bonjour,

J'ai le petit code suivant qui à partir d'une classe main lance une simple winform:


Public Class main
Public Shared Sub main()
Dim a As Affichage = New Affichage()

a.Show()
End Sub
End Class


Public Class Affichage

Private Sub Affichage_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub
End Class

Et lorsque j'exécute ce code (avec débogage) j'ai cette erreur:
Une exception de première chance de type 'System.ObjectDisposedException' s'est produite dans System.Drawing.dll.

Quelqu'un aurait il une idée du problème svp?
Merci

1 réponse

Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
8 mai 2014 à 12:17
Bonjour,

Voici comment je procède :


Dim FenSec As New Affichage
FenSec.ShowDialog()
FenSec.Dispose


Private Sub Affichage_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

' Ton code


End Sub
End Class

Private Sub btnQuitter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuitter.Click

Me.Close

End Sub
End Class

Même en mode modal ou non-modal, je ne me souviens jamais...


a.Show
a.Dispose

De plus, il y a un héritage, dans ta classe, puisque dans l'appel on trouve :

Private Sub Affichage_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Ce code : Handles MyBase.Load implique un héritage, tu pourrais avoir
a implémenter le IDispose ? Malheuresement, je ne connais pas l'héritage,
et je ne sais pas s'il dispose lui-même de la fenêtre lors de sa fermeture.

K
0