none
Message NullReferenceException RRS feed

  • Question

  • Bonjour,

    je dispose dans le Module1 d'un tableau décrite par une structure comprenant un tableau :

     Public ModCalcul(0) As MesModCalculs

        Public Structure MesModCalculs
            Dim sNumModCalc As String
            Dim sLibModCalc As String
            Dim sStatModCalc As String
            Dim sNblModCalc As Short
            Dim sSesModCalc As String
            Dim sOpeModCalc As String
            Dim sLimModCalc As String
            Dim sLigModCal(,) As Short
            Public Sub Initialize()
                ReDim sLigModCal(99, 2)
            End Sub
        End Structure

    si j'affiche un poste donné du tableau avec

    MsgBox(ModCalcul(1).sLigModCal(2, 1))

    j'ai l'erreur suivante :

    l'exception NullReferenceException n'a pas été gérée

    merci pour votre aide


    Cordialement, vdom

    samedi 16 février 2013 21:08

Réponses

  • Bonjour,

    Dans le code que vous nous postez, il manque l'initialisation du tableau, vous présentez juste sa déclaration. Il doit vous manquez une instruction du genre :

    ModCalcul(0) = New MesModCalculs()

    Il vous manquer aussi, dans votre classe de faire appel à la méthode d'initialisation au niveau du constructeur, vous devez ajouter le bloque de code suivant à votre classe :

    Public Sub New()
            Me.Initialize()
     End Sub

    Cordialement.

    • Marqué comme réponse vdom lundi 18 février 2013 12:29
    • Non marqué comme réponse Ould MouradEditor mardi 19 février 2013 23:44
    • Marqué comme réponse Ould MouradEditor mardi 19 février 2013 23:44
    dimanche 17 février 2013 23:37
    Auteur de réponse

Toutes les réponses

  • Bonjour,

    Dans le code que vous nous postez, il manque l'initialisation du tableau, vous présentez juste sa déclaration. Il doit vous manquez une instruction du genre :

    ModCalcul(0) = New MesModCalculs()

    Il vous manquer aussi, dans votre classe de faire appel à la méthode d'initialisation au niveau du constructeur, vous devez ajouter le bloque de code suivant à votre classe :

    Public Sub New()
            Me.Initialize()
     End Sub

    Cordialement.

    • Marqué comme réponse vdom lundi 18 février 2013 12:29
    • Non marqué comme réponse Ould MouradEditor mardi 19 février 2013 23:44
    • Marqué comme réponse Ould MouradEditor mardi 19 février 2013 23:44
    dimanche 17 février 2013 23:37
    Auteur de réponse
  • Bonjour,

    L'initialisation ModCalcul(0) = New MesModCalculs() est faite dans le Module1.

    Mais en effet, il manquait :

    Pour un tableau avec comme définition une structure qui contient un tableau
    il faut relancer ModCalcul(z).Initialize() à chaque fois qu'on ajoute un nouvel indice z au tableau Modcalcul.

    meric pour la réponse,

    Cordialement,


    Cordialement, vdom

    lundi 18 février 2013 12:32
  • Bonjour,

    Super content que votre code marche.

    Sinon pour ne pas avoir à faire l'appel ModCalcul(z).Initialize() chaque fois, vous pouvez (devriez plutôt !!) le faire dans le constructeur comme indiquer dans mon code, il est fait pour ça.

    Cordialement.

    lundi 18 février 2013 12:36
    Auteur de réponse