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

Module via Mémoire

1 réponse
Avatar
Annie L.
Si je crée 3 modules (de procédures et fonctions utilisés régulièrement dans
mon projet et déclaration de variables
globales 'Public'), est ce qu'il charge ces modules dans la mémoire au
démarrage de mon projet?

Si un module n'est appelé que très rarement, va-t-il le charger en mémoire
seulement lorsque j'appelle une
procédure ou fonction de ce module?

Ce que je veux dans tout ceci, c'est de libérer la mémoire au maximum et
faire que mon programme soit beaucoup plus
rapide à l'exécution pour les utilisateurs.


Toutes les suggestions sont les bienvenues, Merci!

1 réponse

Avatar
Zoury
Salut Annie!

Voici un extrait tiré de l'aide :
---
Un module standard est un type référence dont les membres sont implicitement
Shared et dont la portée est l'espace de déclaration de l'espace de noms
contenant le module standard, et non pas uniquement la déclaration du module
lui-même. Il se peut que des modules standard ne soient jamais instanciés.
(...) Les modules standard ne peuvent pas implémenter d'interfaces, ils sont
implicitement dérivés d'Object et ils possèdent uniquement des constructeurs
Shared.
---

Donc en gros les modules à la compilation deviennent des classes exposants
des membres Shared avec une portée Public. Maintenant voici ce que dit
l'aide concernant les membres Shared :
---
Le moment exact où les constructeurs partagés (Shared) sont exécutés dépend
principalement de l'implémentation, bien que plusieurs règles s'appliquent à
cet égard :
Les constructeurs Shared sont exécutés avant toute création d'une instance
du type.
Les constructeurs Shared sont exécutés avant toute référence à un des
membres partagés du type.
Les constructeurs Shared sont exécutés avant tout chargement d'un type
dérivé du type.
Un constructeur Shared ne sera pas exécuté plus d'une fois au cours d'une
exécution donnée d'un programme.
---

Aussi note que les éléments shared sont conservés en mémoire jusqu'à la fin
de l'application.

Il serait donc bien de regroupés tes méthodes par catégories (Security,
Impression, etc..) dans modules distincts. Aussi afin de ne pas trop abuser
de l'emploi des modules, une approche OO est recommandée.

--
Cordialement
Yanick
MVP pour Visual Basic
"Annie L." a écrit dans le message de
news:
Si je crée 3 modules (de procédures et fonctions utilisés régulièrement


dans
mon projet et déclaration de variables
globales 'Public'), est ce qu'il charge ces modules dans la mémoire au
démarrage de mon projet?

Si un module n'est appelé que très rarement, va-t-il le charger en mémoire
seulement lorsque j'appelle une
procédure ou fonction de ce module?

Ce que je veux dans tout ceci, c'est de libérer la mémoire au maximum et
faire que mon programme soit beaucoup plus
rapide à l'exécution pour les utilisateurs.


Toutes les suggestions sont les bienvenues, Merci!