Déclarer une variable Globale pouvant être lue et testée sur toutes les procédur [Résolu]

Signaler
Messages postés
13
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
10 septembre 2008
-
Messages postés
13
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
10 septembre 2008
-
Bonjour,


Je dispose d'un projet prenant en compte plusieurs formulaires et autres procédures ayant un même namespace.


J'ai besoin de placer une variable 'globale' pouvant être lue et testée par ces différents formulaires et procédures.


J'ai placé le code suivant dans la procédure 'main'


        public class VariablesGlobales
        {
           public static int varRSA = 0;     //teste algo RSA  si ok=1  sinon 0
        }


Cette variable peut être déclarée bool (true or false), actuellemnt, les différentes procédures ne permettent pas la lecture de cette variable varRSA.




après avoir placé le code suivant dans les procédures:


if (VariablesGlobales.varRSA == 1)
            {
              ..../...;
           // MessageBox.Show("RSA ok");
            }


Erreur de type 'Le nom "VariablesGlobales" n'existe pas dans le contexte actuel'


Doit-on faire un transfert de variable de type 'New'.


Merci pour votre réponse.


 phy

10 réponses

Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
3
Salut,
Tu devrais placer la classe VariablesGlobales dans la classe Program ( c'est la classe qui contient la fonction Main ).
Ensuite tu peux y accéder de n'importe où comme cet exemple:
Program.VariablesGlobales.varRSA = 1;
A+
Messages postés
433
Date d'inscription
samedi 26 avril 2003
Statut
Membre
Dernière intervention
4 décembre 2009
1
Le bon endroit serai plutot les settings de ton projet (clic droit sur le projet dans l'explorateur de solution > properties > settings).

Tu ajoute un setting nommé varRSA de type bool et de scope application.

ensuite tu écris ou tu veux dans ton appli :
if

(Properties.
Settings.Default.varRSA){

// some code ...}

sroche
Messages postés
86
Date d'inscription
mardi 12 février 2002
Statut
Membre
Dernière intervention
8 novembre 2009
3
Salut,
dans la meme optique, comment recuperer une information de la base apres que l'utilisateur soit connecté et poser des conditions sur cette info dans d'autres form du meme projet.merci
Messages postés
13
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
10 septembre 2008

phy
Messages postés
13
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
10 septembre 2008

Merci pour cette réponse Xmox667 , je vais revoir l'emplacement de cette classe dans la classe Program-
Bonne journée.

 
Messages postés
13
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
10 septembre 2008

Merci titeoe pour cette réponse, j'ai regardé en vain msdn et il y n'a pas ou peu d'info sur ce sujet- donc la solution peut-être, la bilble du programmeur C C++ c# dans laquelle sont référencées beaucoup d'instructions et autres (vu l'épaisseur du bouquin).
Je te remercie de cette réponse,  a ++
Messages postés
13
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
10 septembre 2008

phy
Messages postés
13
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
10 septembre 2008

Bonjour Yelima,
Quelques soient les langages utilisés, si tu as des données (informations) à récupérer, tu as 2 solutions:
-données peu importantes (volume), tu places des variables globales, lisibles sur l ensemble des forms et procédures - attention à la mémoire (garbage...)
-données importantes (volume), j'opterais pour l'écriture d'un fichier Ascii ou Xml ou de configuration INI, lecture à partir des autres form et procedures ou autres applications EXE, puis destruction post-tests, donc pas de conflits mémoire et surtout la possibilité de récupérer les infos à partir d'un autre EXE.
a+
Messages postés
433
Date d'inscription
samedi 26 avril 2003
Statut
Membre
Dernière intervention
4 décembre 2009
1
Attention, faisons les choses proprement :

Les fichiers XML de configuration ou fichiers INI ça c'était bien en VB6. Maintenant, .Net propose les appsettings et le fichier App.Config.
Ces deux fonctionnalités ont été pensées pour répondre a ce besoin particulier, il est donc judicieux de les utiliser.

Quand a ta remarque sur les variables globales, sachant que tu les déclare dans une classes statique, elle n'est pas soumise au "nettoyage" du garbage collector. De toutes façon, il est préférable de toujours externaliser ces variables afin de pouvoir les modifier sans avoir a recompiler ton application (facilité d'intervention sur les applications en production par exemple).

sroche
Messages postés
13
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
10 septembre 2008

C'est tout à fait vrai, la remarque de titeoe est juste sur ce sujet. J'ai un manque de connaissances sur le .NET, je travaille avec d'autres langages, surtout en matière de bases de données, mais avec l'environnement NET, celui-ci devrait simplifier certaines tâches jusqu'alors difficiles d'emploi.