Appel System.IDisposable.Dispose VB Net 2010

Profil bloqué - 29 juin 2011 à 22:52
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 30 juin 2011 à 12:47
Bonjour à tous

J'ai créé un projet en VB Net 2010 sous Windows Seven.
Le projet fonctionne correctement et je me suis mis en tête de solutionner les avertissements
J'en ai un qui apparaît dans cette Sub qui fonctionne très bien.
On affiche dans un listview une liste depuis une table dans une base de données.
Malgré mes recherches sur le Net je n'arrive pas à comprendre ce qu'il faut faire pour corriger cet avertissement ( celui-ci est en dessous du code)

Private Sub Chargepraticiens()

        Listpraticiens.Items.Clear()
        Try
            con.Open()
            Dim cmd As New OleDbCommand("SELECT * FROM PRATICIENS", con)
            rd = cmd.ExecuteReader
            Dim LVI As ListViewItem
            While rd.Read
                LVI = New ListViewItem
                LVI.Text = rd(0).ToString
                Listpraticiens.Items.Add(LVI)
            End While
            LVI = Nothing
            con.Close()

        Catch ex As Exception
            If langue = "en" Then
                messageaff = "An error has occurred during the readind access of the customers list."
                infoaff = "Database access error"
            Else
                messageaff = "Une erreur est survenue au cours de l'accès en lecture de la liste des praticiens."
                infoaff = "Erreur accès base de données"
            End If
            MessageBox.Show(messageaff, infoaff, MessageBoxButtons.OK, MessageBoxIcon.Warning)
        End Try

    End Sub


Avertissement 1 CA2000 : Microsoft.Reliability : Dans la méthode 'BaseForm.Chargepraticiens()', appelez System.IDisposable.Dispose sur l'objet 'cmd' avant que toutes les références s'y rapportant ne soient hors de portée. D:\Calculateur vb net\Calculateur\FormBase.vb 176 Calculateur

Merci à tous ceux qui prendront le temps de lire et d'apporter la solution
Ce cas se répète au moins une dizaine de fois dans le projet


La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain

1 réponse

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
30 juin 2011 à 12:47
Bonjour,

Je dirais comme ça :
Il te conseil d'appeler la méthode Dispose d'une objet Disposable avant que toutes les références pointant vers cet objet ne soient perdues.

0
Rejoignez-nous