Bonjour,
s.v.p je voudrai savoir comment déclarer une variable qui peut être utiliser dans plusieurs fenêtres,est ce qu'il y a un moyen pour le faire comme un module au vb ?
Merci.
Bonjour,
s.v.p je voudrai savoir comment déclarer une variable qui peut être utiliser dans plusieurs fenêtres,est ce qu'il y a un moyen pour le faire comme un module au vb ?
Merci.
La meilleur facon à mon avis c'est de déclarer les variables globales dans un fichier à par (pas forcément)... Pour pouvoir les réutiliser il faut les redéclarer en début de chaque fichier qui les utilise comme ça:
extern type nom;
ça fonctionne aussi pour les classes les fonctions. Le seul problème c'est que c'est long à faire.
Mise à jour:
C'est impossible pour les variables managés
raphchar
Franchement, en C++/CLI, je conseillerais plutôt d'en faire des variables statiques d'une classe managée, plutôt que des variables globales libres.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
c'est vraiment pas une mauvaise idée. Pour un programme que j'avais fais, j'avais fait une classe contenant tout ce qui concernait le document (fonctions et variable).Franchement, en C++/CLI, je conseillerais plutôt d'en faire des variables statiques d'une classe managée, plutôt que des variables globales libres.
Si tu ne sais pas comment faire tu peux me demander
raphchar
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 class Donnees { public: static int frequence; //Définitons dans la classe static float ratio; };static rend la variable globale, c'est à dire indépedante des objets d'un classe. L'appel au membre Classe::Variable retourne donne une valeur indépendante de tout objet de la classe créée, donc ici toute les données (frequence et ratio) se comportent comme des variables globales. L'attribution se fait de la même manière
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 //... if(Donnees::frequence==0)return; //appel à la variableL'inconvéniant, c'est que ça ne fonctionne que pour du code managé, l'avantage c'est qu'il ne faut pas redéfinir les variables à chaque entête de document.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Donnees::Ratio=Width/Height;
Salut Raphchar,
Je crois avoir compris.
Cela ressemble à des choses que je connais.
Merci beaucoup
Bon, je ne trouve plus l'icone "Résolu" , je vais me faire engueuler par les administrateurs !![]()
Les variables globales, c'est très mauvais.
Les statics ne sont pas globales car il y a une instance des statiques par AppDomain de votre application.
Si vous les considérez comme des globales, vous allez être surpris.
Hors de .Net, une variable "de classe" n'est qu'une variable globale déguisée.
Dans .Net, ça devient plus compliquée à cause des AppDomain (qui sont plus ou moins une sous-division d'un processus; il peut y avoir plusieurs AppDomain dans un seul processus): Les AppDomain étant censés être séparés, les variables statiques des classes managées sont bien séparées d'un AppDomain à l'autre. Mais si je comprends bien Bacelar, les variables vraiment globales (et peut-être les variables statiques des classes non-managées) sont communes à tout le processus, ce qui est dangereux.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Une variable globale n'est jamais justifiée.
Il existe des Design Pattern, comme le Singleton, qui sont bien plus propre que les variables globales.
Le choix est fonction du type d’utilisation de la variable et surtout pas en fonction de son espace de validité.
Partager