MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 2009
-
30 nov. 2006 à 17:46
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 2009
-
30 nov. 2006 à 23:31
Salut à tous,
Voilà j'ai un problème avec les modules de classes
Je suis dans un projet DLL ActiveX (pour faire une DLL...)
J'ai créé un module de classe en GlobalMultiUse qui me sert de "module", ou dedans y'a plein de fonctions que je veux qu'elle soient publiques (accessibles par l'utilisateur de la DLL) -> ça marche.
Maintenant j'ai créé un autre module de classe en MultiUse, afin que celui ci s'utilise du genre :
clsProcessus.Property
(c'est à dire que ça soit un objet)
Maintenant je voudrais faire appel à une fonction publique du module GlobalMultiUse depuis mon module MultiUse, mais ça ne marche pas,la fonction n'existe pas...
fiko81
Messages postés381Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention 5 septembre 20103 30 nov. 2006 à 18:19
Salut,
Soit ton second module est lui aussi une DLL alors, il faut rajouter ta première DLL en référence de ton second projet et l'instancier.
Soit ton second module appatient à ta première DLL, alors il te faut seulement l'instancier dans second module.
Je ne sais pas si ça répond à ta question...
Fiko ;-)
Proverbe chinois : Connaître son ignorance est la meilleur part de la connaissance./FONT>
fiko81
Messages postés381Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention 5 septembre 20103 30 nov. 2006 à 22:44
Salut,
En fait quand tu compiles ta DLL et que tu l'utilises dans un projet en tant que référence, tu l'instancies indeirectement.
C'est pourquoi, il faut l'instancier manuelement dans le cas où elle n'est pas compilée
Fiko ;-)
Proverbe chinois : Connaître son ignorance est la meilleur part de la connaissance./FONT>
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 30 nov. 2006 à 21:50
Salut et merci pour la réponse.
Effectivement, les 2 modules sont dans la meme DLL, donc il fallait instancier le premier module dans le second.
Mais je ne comprend pas pourquoi il faut le faire, car dans le projet .EXE qui utilise la DLL, pas besoin d'instancier la classe GlobalMultiUse, les fonctions sont comme si elles étaient dans un module standard (ce que je veux).
Alors pourquoi dans un module de la DLL, il faut instancier (alors qu'il n'est pas nécessaire de le faire dans le .EXE)
(ce que je voulais à la base c'était juste avoir un module qui contient des fonctions qui seront publiques pour TOUTES et TOUS, quelque soit le projet... , mais la elles sont pas publiques à l'interieur meme du projet DLL)