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