Probleme POO et VB.net

Résolu
Signaler
Messages postés
24
Date d'inscription
mercredi 2 novembre 2011
Statut
Membre
Dernière intervention
12 avril 2012
-
Messages postés
24
Date d'inscription
mercredi 2 novembre 2011
Statut
Membre
Dernière intervention
12 avril 2012
-
Bonsoir,

Je souhaite créer une application (En POO)"Musée" gérant diverse exposition contenant diverses œuvres chacune.

j'ai donc crée toutes mes classes
-Musée (contenant ses propriété et une collection d'exposition)
-Exposition (Contenant ses propriété et une collection d'Oeuvre)
-"Scuplture" et "peinture" qui hérite de "Oeuvre"

Quand je souhaite ajouter une œuvre a une exposition l'application me dit :
"La référence d'objet n'est pas définie à une instance d'un objet."

 
Dim oeuvre1 As New sculpture("Maternite IX", 2011, "musée", "bronze", 12.52)
 Dim expo1 As New Exposition
        expo1.Declare_expo("Moderne", "20-02-1991", "24-02-1991")
        expo1.Ajouter_Oeuvre(oeuvre1)


Ma methode est :

Public Sub Ajouter_Oeuvre(UneOeuvre As oeuvre)
        lesoeuvresexposes.Add(UneOeuvre)
    End Sub


Pouvez vous m'aider ?

8 réponses

Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
Bonjour,

Peux-tu au moins confirmer la ligne en cause ?
Regardes en Pas à pas pour voir quelle est exactement l'élément en cause.
Ma supposition est peut être fausse.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
Bonjour,

Une valeur n'a pas été initialisée.
Sans plus de précision, je suppose que c'est lesoeuvresexposes qui est à Nothing.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
24
Date d'inscription
mercredi 2 novembre 2011
Statut
Membre
Dernière intervention
12 avril 2012

C'est effectivement ca comment doit-je proceder pour que cela ne soit pas a "Nothing" ?
Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
Bonjour,

Il faut créer une instance de la classe.
Ne connaissant pas le type de la variable, je ne peux pas en dire plus.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
24
Date d'inscription
mercredi 2 novembre 2011
Statut
Membre
Dernière intervention
12 avril 2012

Merci, J'ai declaré comme ca :
Public Class Exposition

    Private intitule As String
    Private datedeb As DateTime
    Private datefin As DateTime
    Private nboeuvresexpos As Integer
    Private lesoeuvresexposes As Collection
Messages postés
24
Date d'inscription
mercredi 2 novembre 2011
Statut
Membre
Dernière intervention
12 avril 2012

C'est bon j'ai réussi en mettant = new collection au lieu de as collection
Merci
Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
Bonjour,

En .NET, on, a plutôt tendance à préférer les collections typées : List(Of ...)

Il faut faire attention à ce que Option Strict et Option Explicit soient à On dans les propriétés de ton projet.
Car sinon, ta variable serait de type Object et cela ne rassure pas le codage.

Regardes le point 3 de ma signature.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
24
Date d'inscription
mercredi 2 novembre 2011
Statut
Membre
Dernière intervention
12 avril 2012

Dac merci !