Quelle est la différence entre Dim, Global, Public et privé en tant que modificateurs D'accès de terrain modulaires?

Dans VB6 / VBA, vous pouvez déclarer des variables de niveau module en dehors d'une méthode spécifique Sub ou Function. J'ai utilisé Private et Public avant à l'intérieur des modules et les comprendre comme suit:

  • Public - visible pour tout le code à l'intérieur du module et tout le code à l'extérieur du module, ce qui le rend essentiellement global.
  • Private - visible uniquement pour coder à l'intérieur du module.

J'ai remarqué que vous pouvez utiliser Dim et Global comme modificateurs modulaire pour les variables. Sont Dim et Global différent de Private et Public, respectivement, lorsqu'ils sont utilisés comme modificateurs d'accès sur les champs modulaires? Si oui, comment sont-ils différents?

60
demandé sur Ben McCormack 2010-09-28 21:44:40

1 réponses

Dim et Private fonctionnent de la même, bien que la convention commune est d'utiliser Private au niveau du module, et Dim au niveau de la Sous/niveau de la Fonction. Public et Global sont presque identiques dans leur fonction, cependant Global ne peut être utilisé que dans les modules standard, alors que Public peut être utilisé dans tous les contextes (modules, classes, contrôles, formulaires, etc.) {[5] } provient d'anciennes versions de VB et a probablement été conservé pour la rétrocompatibilité, mais a été entièrement remplacé par Public.

79
répondu Joe Jordan 2015-08-17 08:21:47