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

XVAudio 13 Messages postés jeudi 1 novembre 2007Date d'inscription 10 septembre 2008 Dernière intervention - 4 sept. 2008 à 22:39 - Dernière réponse : XVAudio 13 Messages postés jeudi 1 novembre 2007Date d'inscription 10 septembre 2008 Dernière intervention
- 10 sept. 2008 à 22:41
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
Afficher la suite 

10 réponses

Répondre au sujet
xmox667 357 Messages postés jeudi 8 juin 2006Date d'inscription 26 décembre 2011 Dernière intervention - 5 sept. 2008 à 01:19
+3
Utile
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+
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de xmox667
titeoe 433 Messages postés samedi 26 avril 2003Date d'inscription 4 décembre 2009 Dernière intervention - 5 sept. 2008 à 16:54
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de titeoe
yelima 87 Messages postés mardi 12 février 2002Date d'inscription 8 novembre 2009 Dernière intervention - 10 sept. 2008 à 10:42
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de yelima
XVAudio 13 Messages postés jeudi 1 novembre 2007Date d'inscription 10 septembre 2008 Dernière intervention - 10 sept. 2008 à 13:39
+3
Utile
phy
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de XVAudio
XVAudio 13 Messages postés jeudi 1 novembre 2007Date d'inscription 10 septembre 2008 Dernière intervention - 5 sept. 2008 à 09:27
0
Utile
Merci pour cette réponse Xmox667 , je vais revoir l'emplacement de cette classe dans la classe Program-
Bonne journée.

 
Commenter la réponse de XVAudio
XVAudio 13 Messages postés jeudi 1 novembre 2007Date d'inscription 10 septembre 2008 Dernière intervention - 6 sept. 2008 à 13:29
0
Utile
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 ++
Commenter la réponse de XVAudio
XVAudio 13 Messages postés jeudi 1 novembre 2007Date d'inscription 10 septembre 2008 Dernière intervention - 10 sept. 2008 à 14:54
0
Utile
phy
Commenter la réponse de XVAudio
XVAudio 13 Messages postés jeudi 1 novembre 2007Date d'inscription 10 septembre 2008 Dernière intervention - 10 sept. 2008 à 18:03
0
Utile
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+
Commenter la réponse de XVAudio
titeoe 433 Messages postés samedi 26 avril 2003Date d'inscription 4 décembre 2009 Dernière intervention - 10 sept. 2008 à 21:03
0
Utile
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
Commenter la réponse de titeoe
XVAudio 13 Messages postés jeudi 1 novembre 2007Date d'inscription 10 septembre 2008 Dernière intervention - 10 sept. 2008 à 22:41
0
Utile
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.

 
Commenter la réponse de XVAudio

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.