bikini42
Messages postés41Date d'inscriptionjeudi 5 janvier 2006StatutMembreDernière intervention11 juin 2010
-
25 avril 2007 à 14:13
bikini42
Messages postés41Date d'inscriptionjeudi 5 janvier 2006StatutMembreDernière intervention11 juin 2010
-
27 avril 2007 à 09:33
Bonjour,
Après moultes tentatives de passages de variables, j'avais trouvé cette technique qui semblent fonctionner, mais j'obtiens une erreur qui me dit:
"L'exception NullReferenceException n'a pas été gérée. La référence d'objet n'est pas définie à une instance d'un objet."
Pour le moment j'ai ceci en code:
Affichage_Image
maform2;
public
string Code;
public
string CodeStim;
public
void setform(
Affichage_Image blabla2){maform2 = blabla2;}
Et plus loin, j'utilise la valeur maform2.Code en faisant:
donnees1[n].CodeStim = maform2.Code;
Et Code est déclaré et utilisé dans la Forme Affichage_Image, et varie à l'intérieur de cette Forme au cours du temps.
Savez-vous comment résoudre cette erreur?
Merci de me dire si vous connaissez un moyen simple de résoudre ça car j'ai tenté plein de méthodes pr passer des variables et c'est la seule qui semble être possible.
A voir également:
'La référence d'objet n'est pas définie à une instance d'un objet.'
La reference d'objet n'est pas definie a une instance d un objet - Meilleures réponses
System.nullreferenceexception 'la référence d'objet n'est pas définie à une instance d'un objet.' - Meilleures réponses
SharpMao
Messages postés1024Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention 7 juin 201069 26 avril 2007 à 14:20
Là, tu code la méthode setform, mais quand l'utilises-tu ?
Si tu ne l'utilise jamais, le programme ne passe jamais dedans, et c'est normal que maform2 soit null.
bikini42
Messages postés41Date d'inscriptionjeudi 5 janvier 2006StatutMembreDernière intervention11 juin 2010 27 avril 2007 à 09:33
Houraaaaa j'ai trouvé!!!
Il se trouve que Affichage_Image était elle-même initialisée par une Forme principale (qui initialisait Enregistrement ET Affichage_Image) et donc, en faisant ce que je faisais, je mettait à zéro mes données aux yeux de la Forme principale après qu'elle ait appelé les fonctions.
J'ai donc réussi à bidouiller mon code pour que les initialisations se déroulent en même temps afin de ne eprdre aucun données.
En tout ca,s j'aurais pas trouvé ça sans toutes vos aides, qui m'ont mis la puce à l'oreille sur certains points de mon code.
TheSaib
Messages postés2367Date d'inscriptionmardi 17 avril 2001StatutMembreDernière intervention26 décembre 200723 25 avril 2007 à 22:52
Déclaré ne veut pas dire pas instancié. Bien sûr que c'est déclaré sinon ca ne compilerait pas. Maintenant comme t'as dit sharpmao soit maform2 est null soit donnees1.
bikini42
Messages postés41Date d'inscriptionjeudi 5 janvier 2006StatutMembreDernière intervention11 juin 2010 26 avril 2007 à 11:01
Merci à tous pr vos réponses!
J'ai donc vu que le souci venait de ce pb de "null". Mais si je réalise un:
if (maform2 == null)
{ maform2 = new Affichage_Image();}
Cela fonctionne, je n'ai plus d'erreur, mais je perd les valeurs des variables qui ont varié dans Affichage_Image....ce qui m'embete puisque mon but est de récupérer les valeurs des variables de Affichage_Image() et de les utiliser dans l'autre Form...
SharpMao
Messages postés1024Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention 7 juin 201069 26 avril 2007 à 12:50
Attention encore,
Il ne faut pas confondre classe (Affichage_Image)
et instance (maform2)
Tu ne peux pas utiliser de variables dans une classes, (sauf si elles sont static, mais c'est une autre histoire)
par contre tu peux les utiliser dans une instance de cette classe.
Juste par curiosité, comment fais-tu l'appel à la méthode SetForm ?