Bonjour à tous.
Je suis bloqué sur un petit problème depuis ce matin... Je me tourne finalement vers vous pour connaitre votre avis.
Je vais essayer d'être le plus clair possible :
Voilà mes fichiers:
Code :
- // fichier base.hpp
- namespace core {
- [...]
- class Base{
- public:
- virtual bool Init( wstring& filename ) =0;
- };
- [...]
- }
|
Code :
- //fichier derive.dll
- #include "base.hpp"
- using namespace core;
- [...]
- class Derive : public Base {
- public:
- virtual bool Init( wstring& filename ) {
- wcout << filename << endl;
- }
- };
- extern "C" __declspec(dllexport) Base* _stdcall create() {
- Derive* newObject = new Derive;
- return newObject;
- }
|
Code :
- // main.cpp
- [...]
- #include "base.hpp"
- using namespace core;
- extern "C" __declspec(dllimport) Base* __stdcall create();
- int main (...) {
- Base* object = create(); // Jusque là ça marche
- object.Init(L"TEST" ); // TEST devrait être affiché
- }
|
Après debug, je découvre que filename est un <Bad ptr> mais alors je ne sais pas comment ça se fait...
Si quelqu'un a une idée je suis preneur ![:) :)](https://forum-images.hardware.fr/icones/smile.gif)
Merci de m'avoir lu !
EDIT : J'ai oublié de préciser que le code marchait parfaitement avant le passage de derive.h et derive.cpp en derive.dll ![:) :)](https://forum-images.hardware.fr/icones/smile.gif)
Message édité par Arry le 10-06-2009 à 13:05:28
---------------
Mon Feed-Back