[Nb] Declarer variable PUBLIC ou GLOBAL

Résolu
cs_skript Messages postés 9 Date d'inscription mercredi 16 mars 2005 Statut Membre Dernière intervention 2 avril 2005 - 25 mars 2005 à 19:40
VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 - 25 mars 2005 à 20:33
Salut à vous autres codeurs ^^
Je débute depuis qq jours en VB (je tourne sous VB 6.0) et je suis en train de tenter de mettre au point un morpion (SVP pas de commentaires sur le fait ke ce language n'est pas propice à ce genre d'utilisation, mais je programme pour le plaisir et le défi perso)

Je veux declarer une variable valides pour touts les bojets de ma feuille, donc je me suis dit jve utiliser la commande GLOBAL ou PUBLIC (explikez moi la difference o passage)
Sauf que le code fonctionne pas, lors du test, le log maffiche ceci:

"invalid attribute in sub or function" (en surligant la commande Public ou Global (j'ai ca avec les 2)

j'ai taper la commande ds Form_load pr kelle soit declaree au tout debut des le lancement.

Que dois-je faire pr ke ca marche ?

merci d'avance

6 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
25 mars 2005 à 20:19
re

Goto monLabel
....
monLabel:
Debug.Print "Suite"

Mais le Goto est à éviter, mieux vaut appronfondir l'usage des "If-Then-Else|ElseIf-End If"
ou encore les "Select Case maCondition"

Vala
Jack
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
3
VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 2
25 mars 2005 à 20:33
Non seulement le GOTO est à éviter mais en plus il est à proscrire... Mieux vaut une bonne récursive !!

Autrement en VB, pour la déclaration de variables de niveau feuilles :

c'est
'---------------------------
Option Explicit

Private maVariable as string

'en tout début de module de Form.
'---------------------------

Autrement, une variable accessible de partout, se déclare dans un module (avec extension .bas) .
Pour qu'elle soit accessible en dehors du module en question, on la déclare avec la portée Public:
'---------------------------
Public m_maVariable as string
'---------------------------

Bien sur plus c'est visible , plus ça consomme en ressource...
c'est comme les gens !!!

@+
3
cs_Pingouin Messages postés 262 Date d'inscription lundi 26 août 2002 Statut Membre Dernière intervention 24 août 2005
25 mars 2005 à 20:03
On ne déclare pas une variable en public ou global (je crois que global
est réservé au module est rend la variable accessible a tous les
éléments du projet, form et module, alors que public c'est pour rendre
la variable accessible a toutes les procédures d'une form ou d'un
module mais un module exterieur ne pourra pas y accéder) on place ce
type de déclaration dans la zone 'general' la ou tu déclares les API
etc. Enfin bref en gros ca doit etre la premiere ligne de ton
projet tout en haut et en dehors de toute procédure.



Voila voila

@+

The Pingouin
0
cs_skript Messages postés 9 Date d'inscription mercredi 16 mars 2005 Statut Membre Dernière intervention 2 avril 2005
25 mars 2005 à 20:11
merci ca marche ^^

@++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_skript Messages postés 9 Date d'inscription mercredi 16 mars 2005 Statut Membre Dernière intervention 2 avril 2005
25 mars 2005 à 20:15
J'ai une autre requete:

Quelle est la commande type lbl, goto (comme sur les casio lol) sous VB6? si elle existe?
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
25 mars 2005 à 20:17
Salut
Global est un héritage de VB3 et n'est plus utilisé.
Remplacé par Public

Les définitions Public placées dans la partie Déclarations d'un module quelconque permet à cette variable d'être accessible dans tout le projet, sans exception.
Un Private dans une Déclaration de feuille, de module ... rend visible cette variable dans l'objet dans laquelle est déclarée.
C'est aussi valable dans une Sub ou Function, c'est aussi un objet somewhere ... Un Dim ne rend utilisable la variable qu'à l'intérieur de cette Sub ou Function.

Vala
Jack
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
Rejoignez-nous