Probleme avec les modules de classe dans une DLL ActiveX

Résolu
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 - 30 nov. 2006 à 17:46
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 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...

Si vous avez une solution merci ;)

Ciaò
- MadMatt -
Vb System Library<

4 réponses

fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
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>
3
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
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>
3
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
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)

Ciaò
- MadMatt -
Vb System Library<
0
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
30 nov. 2006 à 23:31
Arf ok merci pour les explications

Ciaò
- MadMatt -
Vb System Library
0
Rejoignez-nous