Instancier une classe, recuperer les proprietes de lobjet

Résolu
tump Messages postés 82 Date d'inscription dimanche 25 juillet 2004 Statut Membre Dernière intervention 6 avril 2006 - 23 janv. 2005 à 10:06
tump Messages postés 82 Date d'inscription dimanche 25 juillet 2004 Statut Membre Dernière intervention 6 avril 2006 - 24 janv. 2005 à 19:27
bonjour
en vbnet, lorsque j'instancie une classe, il ne garde pas les zinfos en memoire, je mexplique :

je fais
dim newrejet as new rejet(parametres1,2,3...)

dans le constructeur de la classe rejet,
je calcule une propriété "chemin" selon la valeur du parametre1
jai une property en lecture seule qui dit
chemin=m_chemin

ensuite, quand je reviens a ma procedure,
je fais dim mypath as string=newrejet.chemin
il dit que chemin est vide!!

ya un truc qui mechappe...
quelqu'un peut maider svp ?

poum :-)

4 réponses

Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007
24 janv. 2005 à 06:23
C'est bizarre que m_chemin te renvoie Nothing.

Nothing est utilisé pour dire que ta variable n'a pas reçu d'objet.

Or, je suppose que m_chemin doit recevoir du texte.
Regarde donc si m_chemin a été déclaré comme variable texte
private m_Chemin as string

Regarde également la portée de ta variable m_chemin. Pour pouvoir être utilisée partout dans ta classe, elle doit être déclarée en début de module, avant la première procédure, fonction ou propriété.

As-tu utilisé la déclaration obligatoire des variables ( option Explicit ) en début de module. Cela permet de voir si tu utilises bien des variables déclarées.

En plus de l'exécution pas à pas, tu peux déclarer m_chemin en espion pour voir quand il se remet à nothing.

Bon travail

PF
3
Pierre_faucon Messages postés 96 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 22 mai 2007
23 janv. 2005 à 14:28
Bonjour

Il y a plusieurs pistes possibles, et sans voir ton code, il est malaisé de répondre...

Toutefois, voici quelques pistes:

1. Quand calcules-tu le chemin avec le paramètre 1. C'est la variable m_chemin qui doit recevoir la valeur calculée.

2. Dans le property get Chemin(), as-tu bien la ligne
chemin = m_chemin

3. place un point d'arrêt sur la ligne qui calcule le chemin dans la classe et progresse ensuite pas à pas. Tu trouveras certainement le problème...

Ok?

Bon travail

Pierre Fauconnier
0
tump Messages postés 82 Date d'inscription dimanche 25 juillet 2004 Statut Membre Dernière intervention 6 avril 2006 1
23 janv. 2005 à 21:23
merci davoir repondu
eh bien je crois ke jai tout dis dans ma question,

1 - je calcule m_chemin dans le sub new de la classe , que jappelle en faisant
dim newrejet as new rejet(parametres1,2,3...)

c'est bien la variable m_chemin qui recoit la valeur
ça se déroule bien, jai verifié en faisant du pas a pas

2 - oui, jai bien chemin = m_chemin

quand je fais pas a pas sur la ligne de code
dim path as newrejet.chemin, m_chemin=nothing !

3 - en fait tout se passe bien quand je declare que newrejet est un objet rejet, il me calcule m_chemin et toutes les autres propriétés, mais des que je sors du sub new, les valeurs reviennent a nothing...

jcomprend pô...

poum :-)
0
tump Messages postés 82 Date d'inscription dimanche 25 juillet 2004 Statut Membre Dernière intervention 6 avril 2006 1
24 janv. 2005 à 19:27
ça yest j'ai compris!


cetait encore un truc tout bete : javais declarer une premiere en haut de la classe comme tu dis private m_chemin as string


puis encore une fois dans le constructeur dim m_chemin as string


ça venait de la, puisque des que je l'ai enlevé du constructeur, c'etait ok


ouf! en tout cas merci pour ton aide, c sympa!

bonne prog!

poum :-)
0
Rejoignez-nous