Dll et class

Signaler
Messages postés
5
Date d'inscription
lundi 31 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2005
-
Messages postés
5
Date d'inscription
lundi 31 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2005
-
bonjour,

Je dois utiliser une classe contenu dans une dll

mais je n'ai pas trouvé d'infos me permettant de faire ceci (juste des infos sur l'utilisation de methodes, rien sur la POO)

si quelqu'un peut m'aider (soit je n'ai pas compris qqch, soit je ne me pose pas les bonnes questions)

merci

B.

7 réponses

Messages postés
252
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 septembre 2006

Tu dois avoir le fichier qui définit la classe plus le .lib de la dll.
Messages postés
5
Date d'inscription
lundi 31 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2005

non, je n'ai qu'une dll et une doc sur les classes et méthodes contenus
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Si les méthodes sont statiques ce devrait aller.
Sinon je ne vois pas: on doit créer un objet, mais le constructeur se trouve dans la dll, comment faire alors pour créer l'objet
Messages postés
5
Date d'inscription
lundi 31 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2005

malheureusement non

c'est pas statique

j'ai besoin d'initialiser des attributs de la classe, puis d'executer une méthode
Messages postés
5
Date d'inscription
lundi 31 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2005

j'ai trouvé une piste en faisant ça :

#import "madll"

...

CoInitialize(NULL);

MaDll::MaClassePtr toto;

toto.CreateInstance("MaDll.MaClasse");

ensuite, je peux faire

toto->maMethode();



mais le linkage ne marche pas :

fatal error LNK1136: invalid or corrupt file

Error executing link.exe.



je continue de chercher
Messages postés
252
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 septembre 2006

C'est parceque tu esseye de linker la dll au lieu du .lib dans #import



Regarde si la dll exporte bien DllGetClassObject



et aide toi de MSDNpour avoir un pointeur sur la classe.
Messages postés
5
Date d'inscription
lundi 31 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2005

le pb, c'est que j'ai pas de .lib

donc, comment je peux importer ma dll ?