Problème avec une Dll

Signaler
Messages postés
58
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
4 février 2012
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour,

J'ai fait une Dll c++ que j'utilise sous VB6 sans problèmes, par contre lorsque je l utilise en c++ gros plantage........

Voilà un bout de code de la Dll :



_ConnectionPtr pConn;

_RecordsetPtr pRset;



DATABASE_API bool Connecte( )

{

CoInitialize( NULL );

try

{

pConn.CreateInstance( __uuidof( Connection ) );

pRset.CreateInstance(
__uuidof( Recordset )
);

pConn->Mode = adModeShareDenyNone;

pConn->Open( szChaineConnexion, "", "", 0 );

}

catch(_com_error &e)

{

erreur( "Erreur OuvertureBase" );

erreur( e.Description() );

return false;

}

return true;



}

4 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Peut-être différence de convention d'appel entre DLL et EXE (DATABASE_API ???).
Sinon je ne vois rien qui coince.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
58
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
4 février 2012

Voilà le DATABASE_API :



#ifdef DATABASE_EXPORTS

#define DATABASE_API __declspec(dllexport)

#else

#define DATABASE_API __declspec(dllimport)

#endif
Messages postés
58
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
4 février 2012

et le message d'erreur......

l'instruction 0x00000000 emploie l'adresse mémoire 0x00000000
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Vais tester et je te dis ce qu'il en est.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++