VB.NET Problème de variables
GoldEagle
-
garion28 Messages postés 1545 Date d'inscription Statut Membre Dernière intervention -
garion28 Messages postés 1545 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je travaille sur un projet VB.NET avec un bout de programme que je n'ai pas concu moi même.
Je travaille sur 2 fichiers : un Form et une Class. Je travaille maintenant sur un Form et un Module , où j'ai transferer toutes mes class et méthodes provenant de l'ancien fichier Class.
Mais, maintenant, j'ai un problème de déclaration de variables (dans mon Module) alors que le contenu du fichier est exactement le même qu'il était dans mon fichier Class.
Je m'explique : mon Module est strucuté de cette manière :
Class1
MéthodeA
MéthodeB
Class2
MéthodeC
MéthodeD
Class3
....
etc..
j'ai plusieurs héritages entre les Class.
J'ai maintenant un paquet d'erreur, toutes le sont pour des variables non déclaré, et quand je vérifie, cela me parait logique car j'utilise, par exemple, une variable X dans la Class1, qui n'est déclaré que dans la Class2.
Mais, lorsque j'étais sur mon fichier Class, je n'avais aucune erreur de compliation, et tout fonctionnait, je me doute donc qu'il doit y avoir une configuration à faire quelquepart.
Mis à part les Formulaires, les Modules, et les Class, je ne maitrise pas les autres fonctionnalités de VB, j'en viens donc a vous demander comment cela est il possible d'avoir des variables utiliser avant leur déclaration dans une autre Class.
Une autre question : pour utiliser toutes mes Class et méthodes, ai-je interêt à les placer dans un Module, ou dans une Class ?
Merci de votre attention.
je travaille sur un projet VB.NET avec un bout de programme que je n'ai pas concu moi même.
Je travaille sur 2 fichiers : un Form et une Class. Je travaille maintenant sur un Form et un Module , où j'ai transferer toutes mes class et méthodes provenant de l'ancien fichier Class.
Mais, maintenant, j'ai un problème de déclaration de variables (dans mon Module) alors que le contenu du fichier est exactement le même qu'il était dans mon fichier Class.
Je m'explique : mon Module est strucuté de cette manière :
Class1
MéthodeA
MéthodeB
Class2
MéthodeC
MéthodeD
Class3
....
etc..
j'ai plusieurs héritages entre les Class.
J'ai maintenant un paquet d'erreur, toutes le sont pour des variables non déclaré, et quand je vérifie, cela me parait logique car j'utilise, par exemple, une variable X dans la Class1, qui n'est déclaré que dans la Class2.
Mais, lorsque j'étais sur mon fichier Class, je n'avais aucune erreur de compliation, et tout fonctionnait, je me doute donc qu'il doit y avoir une configuration à faire quelquepart.
Mis à part les Formulaires, les Modules, et les Class, je ne maitrise pas les autres fonctionnalités de VB, j'en viens donc a vous demander comment cela est il possible d'avoir des variables utiliser avant leur déclaration dans une autre Class.
Une autre question : pour utiliser toutes mes Class et méthodes, ai-je interêt à les placer dans un Module, ou dans une Class ?
Merci de votre attention.
A voir également:
- VB.NET Problème de variables
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Microsoft Office
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Impossible de créer le fichier de travail.verifiez variable TEM ✓ - Forum Word
- Vérifier variable d'environnement TEMP - Forum Word
3 réponses
s'il y a héritage et que tu veu utiliser une variable d'une classe dans une autre classe parente (genre père qui utilise variable du fils) ca va poser probleme
essaye de de déclarer tes variables dans la premiere classes qui veut les utiliser.
une autre chose, je suppose que si tu utilise l'héritage c'est que tu compte faire de l'objet ? dans ce cas là n'utilise pas les variables d'une classes dans une autre classe ou dans le programme: utilise des ascesseur (getteur qui renvoi la valeur de la variable et setteur pour la modifier)
si tu veu savoir d'autres choses (ou que j'ai expliqué des truc que tu connaissait déja) tu demande
essaye de de déclarer tes variables dans la premiere classes qui veut les utiliser.
une autre chose, je suppose que si tu utilise l'héritage c'est que tu compte faire de l'objet ? dans ce cas là n'utilise pas les variables d'une classes dans une autre classe ou dans le programme: utilise des ascesseur (getteur qui renvoi la valeur de la variable et setteur pour la modifier)
si tu veu savoir d'autres choses (ou que j'ai expliqué des truc que tu connaissait déja) tu demande
Oui je fais de l'objet cependant je n'arrive pas a utiliser les accesseur, et je n'ai pas trouvé de tuto interessant.
Si quelqu'un pouvait me donner un petit bout de code à titre d'exemple, ou un lien vers un tuto, ce qui serait d'ailleurs la meilleure solution.
Merci
Si quelqu'un pouvait me donner un petit bout de code à titre d'exemple, ou un lien vers un tuto, ce qui serait d'ailleurs la meilleure solution.
Merci
class personne{ //attribut privé a la classe private string nom; private string prenom; //constructeur personne(string lenom, string le prenom){ nom=lenom; prenom=leprenom; } //debut des ascesseurs: getteur puis setteur (facilement identifiable :P) //getteur permet de connaitre la valeur d'une variable public string getnom(string unnom){ //fonction prend un string en param et renvoi un string return this.nom=unnom; } public string getprenom(string unprenom){ return this.prenom=unnom; } //les setteurs permettent de modifier la valeur de la variable public void setnom(string newnom){ this.nom=newnom; // le this permet d'identifier l'instance en cours, optionel mais conseillé } public void setprenom(newprenom){ this.prenom=newprenom; }
j'ai pris l'exemple dans une sorte de ptite variante du c#, mais ce n'est qu'une question de syntaxe