Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Variable publique

4 réponses
Avatar
SL3News
Bonjour,
J'ai une solution composé de plusieurs projets et d'une bibliothèque de
classe.
Je voudrais déclarer une variable publique qui sera visible dans tous les
projets.
Où dois-je déclarer ma variable publique (dans Program.cs du projet de
démarrage, dans un fichier de procédures, ...?)
Merci d'avance.

4 réponses

Avatar
Gilles TOURREAU
Le Thu, 06 Sep 2007 09:19:42 +0200, SL3News a écrit:

Bonjour,
J'ai une solution composé de plusieurs projets et d'une bibliothèque de
classe.
Je voudrais déclarer une variable publique qui sera visible dans tous les
projets.
Où dois-je déclarer ma variable publique (dans Program.cs du projet de
démarrage, dans un fichier de procédures, ...?)
Merci d'avance.





Tout dépend de l'organisation et de la structure de vos projets...

L'idéal étant de la mettre en statique dans un projet qui est référencé
par tous les autres projets...

Juste par curiosité, et vu le vocabulaire utilisées dans vos posts
(variable publique, fichier de procédures, contrôle composites,...etc) ne
seriez-vous pas un programmeur Windev ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
SL3News
"Gilles TOURREAU" a écrit dans le message de news:

Le Thu, 06 Sep 2007 09:19:42 +0200, SL3News a écrit:

Bonjour,
J'ai une solution composé de plusieurs projets et d'une bibliothèque de
classe.
Je voudrais déclarer une variable publique qui sera visible dans tous les
projets.
Où dois-je déclarer ma variable publique (dans Program.cs du projet de
démarrage, dans un fichier de procédures, ...?)
Merci d'avance.





Tout dépend de l'organisation et de la structure de vos projets...

L'idéal étant de la mettre en statique dans un projet qui est référencé
par tous les autres projets...

Juste par curiosité, et vu le vocabulaire utilisées dans vos posts
(variable publique, fichier de procédures, contrôle composites,...etc) ne
seriez-vous pas un programmeur Windev ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Bonjour M. Gilles,
En fait je suis un programmeur Microsoft Visual FoxPro (j'ai utilisé les
différentes versions; actuellement, j'utilise la version 9). D'ailleurs, je
ne comprends pas pourquoi MicroSoft a retiré VFP du package Visual Studio.
Je viens de commencer C#; ce qui justifie la plupart des questions bêtes que
je pose. Je suis également en train de peser le pour et le contre pour voir
si je dois retenir C# ou VFP comme mon langage de développement.

Encore une fois, merci pour vos réponses qui m'aident beaucoup à vite
m'approprier C#.
Avatar
Gilles TOURREAU
Le Sat, 08 Sep 2007 10:13:15 +0200, SL3News a écrit:

"Gilles TOURREAU" a écrit dans le message de
news:

Le Thu, 06 Sep 2007 09:19:42 +0200, SL3News a écrit:

Bonjour,
J'ai une solution composé de plusieurs projets et d'une bibliothèque de
classe.
Je voudrais déclarer une variable publique qui sera visible dans tous
les
projets.
Où dois-je déclarer ma variable publique (dans Program.cs du projet de
démarrage, dans un fichier de procédures, ...?)
Merci d'avance.





Tout dépend de l'organisation et de la structure de vos projets...

L'idéal étant de la mettre en statique dans un projet qui est référencé
par tous les autres projets...

Juste par curiosité, et vu le vocabulaire utilisées dans vos posts
(variable publique, fichier de procédures, contrôle composites,...etc)
ne
seriez-vous pas un programmeur Windev ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Bonjour M. Gilles,
En fait je suis un programmeur Microsoft Visual FoxPro (j'ai utilisé les
différentes versions; actuellement, j'utilise la version 9). D'ailleurs,
je
ne comprends pas pourquoi MicroSoft a retiré VFP du package Visual
Studio.
Je viens de commencer C#; ce qui justifie la plupart des questions bêtes
que
je pose. Je suis également en train de peser le pour et le contre pour
voir
si je dois retenir C# ou VFP comme mon langage de développement.

Encore une fois, merci pour vos réponses qui m'aident beaucoup à vite
m'approprier C#.





FoxPro et Windev le style de développement se ressemble (d'ailleurs le
post sur le blocage d'enregistrement montre vraiement que vous étiez
programmeur de ces mondes... ;-)).

Il n'y a pas de honte à poser des questions bêtes, j'en ai posé moi
aussi...

Je viens (presque) comme vous du monde de Windev (à 85%) et VB6 (à 15%).
Cela fait depuis la VS 2005 Beta 2 que je développe des applications sous
.NET. J'utilisais la VS2003 uniquement pour les applications SiteWeb.
J'ai migré toutes mes applications vers cette plate-forme .NET et je ne le
regrette pas !

Les conseils que je peux vous donner :
- Il faut penser .NET ! C'est à dire COO ! Par exemple, sous .NET les
"variables globales" n'existe pas comme dans FoxPro...
- Il ne faut surtout pas faire une traduction de code de FoxPro vers
.NET... C'est une grosse erreur, et cela n'apporte rien !
- Contrairement à Windev (Et pour FoxPro même chose je pense), il ne faut
pas foncer pour coder... C'est aller droit dans le mur ! Il faut prendre
une ramette de A4 et une dizaine de stylo et dessiner l'architecture et
l'organisation de vos composants, classe, fenêtre... (Votre post sur les
référence circulaire prouve par exemple un défaut d'organisation de vos
projets).
- Développez absolument en 3 couches ! (IHM, Métier, et fournisseur de
données)...
- Factorisez au maximum les choses qui se repètent, évitez donc le
copier-coller (Pour anecdote, quand je développais sous Windev, j'ai du
remplacer à un moment mon clavier car la touche Ctrl gauche ne
fonctionnait plus... Trop de Ctrl-C et V... ;-)). Le post sur votre
BindingNavigator que vous souhaitez développer, est un très bon exemple de
la factorisation du code... La factorisation permet aussi si un jour vous
le souhaitez, ajouter très facilement une petite bricole à votre
BindingNavigator et ainsi à toute vos fenêtres, en 3 lignes de code !
- N'ayez pas peur de développer des TextBox personnalisés, on a
l'impression que cela prend du temps, mais après c'est un régale quand on
les réutilisent ! Par exemple, un collègue a développé un contrôle TextBox
permettant la saisie d'une date (à notre façon, je sais qu'il existe le
DateTimePicker, mais cela ne correspondait pas à nos besoins et celle de
nos clients).
En créant ce type de contrôle, mon collègue "a perdu" 1 jour (codage
+ test), mais maintenant c'est un vrai régal sous le Designer pour ajouter
un contrôle déjà tout fait...
D'ailleurs 6 mois après il fallu implémenter (pour un client) la prise en
charge des saisies d'années à 2 chiffres ("00" -> "2000",...etc), cette
implémentation s'est faite au niveau d'une seule classe et à permis "de
modifier le comportement" de plusieurs fenêtres de nos projets... (Sous
Windev, ce n'était pas le cas, car tout est Copier/Coller, donc au niveau
maintenance on perdait des jours à changer ce genre de comportement dans
toutes les fenêtres, en espérant de ne pas en avoir oublié une...)
- Si vous développez plusieurs applications, (toujours sur papier)
réflechissez bien de ce que vous pouvez mettre en commun dans un projet...

Les seules difficultés rencontrées :
- Apprentissage très long des classes (c'est tellement vaste), concentrez
vous sur l'essentiel... J'ai abandonné à moment les nouveautés d'ASP .NET
v2 pour me concentrer sur Windows Forms.
- Ne pas développer sur des versions Beta....... Non pas parceque cela
bug, mais j'ai eu des problèmes avec le code généré par le Designer au
niveau des DataGridView une fois que j'avais utilisé la version
définitive... J'ai perdu pas mal de temps la dessus !

Voilà, c'est tous les conseils que je peux vous donner...

Pour résumer, (selon moi) la réussite d'une application .NET passe par
l'architecture des son (ou ses) application(s).

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
SL3News
"Gilles TOURREAU" a écrit dans le message de news:

Le Sat, 08 Sep 2007 10:13:15 +0200, SL3News a écrit:

"Gilles TOURREAU" a écrit dans le message de
news:

Le Thu, 06 Sep 2007 09:19:42 +0200, SL3News a écrit:

Bonjour,
J'ai une solution composé de plusieurs projets et d'une bibliothèque de
classe.
Je voudrais déclarer une variable publique qui sera visible dans tous
les
projets.
Où dois-je déclarer ma variable publique (dans Program.cs du projet de
démarrage, dans un fichier de procédures, ...?)
Merci d'avance.





Tout dépend de l'organisation et de la structure de vos projets...

L'idéal étant de la mettre en statique dans un projet qui est référencé
par tous les autres projets...

Juste par curiosité, et vu le vocabulaire utilisées dans vos posts
(variable publique, fichier de procédures, contrôle composites,...etc)
ne
seriez-vous pas un programmeur Windev ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Bonjour M. Gilles,
En fait je suis un programmeur Microsoft Visual FoxPro (j'ai utilisé les
différentes versions; actuellement, j'utilise la version 9). D'ailleurs,
je
ne comprends pas pourquoi MicroSoft a retiré VFP du package Visual
Studio.
Je viens de commencer C#; ce qui justifie la plupart des questions bêtes
que
je pose. Je suis également en train de peser le pour et le contre pour
voir
si je dois retenir C# ou VFP comme mon langage de développement.

Encore une fois, merci pour vos réponses qui m'aident beaucoup à vite
m'approprier C#.





FoxPro et Windev le style de développement se ressemble (d'ailleurs le
post sur le blocage d'enregistrement montre vraiement que vous étiez
programmeur de ces mondes... ;-)).

Il n'y a pas de honte à poser des questions bêtes, j'en ai posé moi
aussi...

Je viens (presque) comme vous du monde de Windev (à 85%) et VB6 (à 15%).
Cela fait depuis la VS 2005 Beta 2 que je développe des applications sous
.NET. J'utilisais la VS2003 uniquement pour les applications SiteWeb.
J'ai migré toutes mes applications vers cette plate-forme .NET et je ne le
regrette pas !

Les conseils que je peux vous donner :
- Il faut penser .NET ! C'est à dire COO ! Par exemple, sous .NET les
"variables globales" n'existe pas comme dans FoxPro...
- Il ne faut surtout pas faire une traduction de code de FoxPro vers
.NET... C'est une grosse erreur, et cela n'apporte rien !
- Contrairement à Windev (Et pour FoxPro même chose je pense), il ne faut
pas foncer pour coder... C'est aller droit dans le mur ! Il faut prendre
une ramette de A4 et une dizaine de stylo et dessiner l'architecture et
l'organisation de vos composants, classe, fenêtre... (Votre post sur les
référence circulaire prouve par exemple un défaut d'organisation de vos
projets).
- Développez absolument en 3 couches ! (IHM, Métier, et fournisseur de
données)...
- Factorisez au maximum les choses qui se repètent, évitez donc le
copier-coller (Pour anecdote, quand je développais sous Windev, j'ai du
remplacer à un moment mon clavier car la touche Ctrl gauche ne
fonctionnait plus... Trop de Ctrl-C et V... ;-)). Le post sur votre
BindingNavigator que vous souhaitez développer, est un très bon exemple de
la factorisation du code... La factorisation permet aussi si un jour vous
le souhaitez, ajouter très facilement une petite bricole à votre
BindingNavigator et ainsi à toute vos fenêtres, en 3 lignes de code !
- N'ayez pas peur de développer des TextBox personnalisés, on a
l'impression que cela prend du temps, mais après c'est un régale quand on
les réutilisent ! Par exemple, un collègue a développé un contrôle TextBox
permettant la saisie d'une date (à notre façon, je sais qu'il existe le
DateTimePicker, mais cela ne correspondait pas à nos besoins et celle de
nos clients).
En créant ce type de contrôle, mon collègue "a perdu" 1 jour (codage +
test), mais maintenant c'est un vrai régal sous le Designer pour ajouter
un contrôle déjà tout fait...
D'ailleurs 6 mois après il fallu implémenter (pour un client) la prise en
charge des saisies d'années à 2 chiffres ("00" -> "2000",...etc), cette
implémentation s'est faite au niveau d'une seule classe et à permis "de
modifier le comportement" de plusieurs fenêtres de nos projets... (Sous
Windev, ce n'était pas le cas, car tout est Copier/Coller, donc au niveau
maintenance on perdait des jours à changer ce genre de comportement dans
toutes les fenêtres, en espérant de ne pas en avoir oublié une...)
- Si vous développez plusieurs applications, (toujours sur papier)
réflechissez bien de ce que vous pouvez mettre en commun dans un projet...

Les seules difficultés rencontrées :
- Apprentissage très long des classes (c'est tellement vaste), concentrez
vous sur l'essentiel... J'ai abandonné à moment les nouveautés d'ASP .NET
v2 pour me concentrer sur Windows Forms.
- Ne pas développer sur des versions Beta....... Non pas parceque cela
bug, mais j'ai eu des problèmes avec le code généré par le Designer au
niveau des DataGridView une fois que j'avais utilisé la version
définitive... J'ai perdu pas mal de temps la dessus !

Voilà, c'est tous les conseils que je peux vous donner...

Pour résumer, (selon moi) la réussite d'une application .NET passe par
l'architecture des son (ou ses) application(s).

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



M. Gilles,
Encore une fois, merci pour vos conseils et suggestions.
Je vais essayer de les exploiter au maximum.