begin process at 2012 05 29 05:33:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

export class via dll probleme (cpp)?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

export class via dll probleme (cpp)?

jeudi 24 août 2006 à 16:46:07 | export class via dll probleme (cpp)?

cheroua

salut,


Voici la classe à partir de laquelle je genère une dll...

J'utilise une méthode explicite pour importer la dll avec LoadLibrary
J'ai essayé de construire l'interface qui permet d'assurer la passerelle entre la dll (issue de la classe) et l'application mais le fait que j'utilise des types classes me pose problème

Pourriez-vous m'aider à finaliser mon interfaçe



voila la class :
class Param
{

Param();
~Param();

Param operator+(Param&);

void SetValue(double*);

Vector<double> GetValue();

vector <string> GetPath();

private :
vector <double*> _Value;
vector <string> _Path;
}



class Interface

class Param
{

virtual Param operator+(Param&);

virtual void SetValue(double*)=0;

virtual Vector<double> GetValue();

virtual vector <string> GetPath();


}

Merci d'avance ...
jeudi 24 août 2006 à 17:07:07 | Re : export class via dll probleme (cpp)?

Itsuki2

Hi ho, c'est quoi comme erreur que tu as ?

/// Fichier Header
#ifdef ITSUKI2_EXPORTS
#define ITSUKI2_API __declspec(dllexport)
#else
#define ITSUKI2_API __declspec(dllimport)
#endif

class ITSUKI2_API CItsuki2
{
   public:
      CItsuki2(void);
};

/// Fichier Source
CItsuki2::CItsuki2()

   return;
}

jeudi 24 août 2006 à 17:16:02 | Re : export class via dll probleme (cpp)?

cheroua

le linker donne plusieur erreur au niveau de linkeur;
lors de chargement de la dll avec votre méthode, en implicite ou explicite, les variables entrées dans la classe sont perdu (adresse mémoire donne n'importe quoi?
vendredi 25 août 2006 à 10:33:34 | Re : export class via dll probleme (cpp)?

Itsuki2

Tiens, moi je fais ca comme ca, c'est plus simple je trouve.

// Source DLL ///////////////////////////////////////////////////////
#include "stdafx.h"
#include "Dll.h"
#include <string.h>

BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
    return TRUE;
}
CDll :: CDll(void)
{
 strcpy(chaine, "hi ho");
 return;
}
DLL_API CDll *initialise(void)
{
 CDll *Temp = new CDll();
 return Temp;
}

//HEADER DLL ///////////////////////////////////////////////////////
#ifdef DLL_EXPORTS
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif

class DLL_API CDll
{
 public:
  CDll(void);
  char chaine[256];
};

DLL_API CDll *initialise(void);

// Main ///////////////////////////////////////////////////////
#include "stdafx.h"
#include <windows.h>

#ifdef DLL_EXPORTS
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif

class DLL_API CDll
{
 public:
  CDll(void);
  char chaine[256];
};

#include <stdio.h>

int main(int argc, char* argv[])
{
 HMODULE module = LoadLibrary("Dll.dll");
 CDll* (*ok)(void) = NULL;
 ok = (CDll*(*)(void)) GetProcAddress(module, "?initialise@@YAPAVCDll@@XZ");
 CDll *maclasse = (*ok)();
 printf("%s", maclasse->chaine);
 return 0;
}



Cette discussion est classée dans : class, dll, vector, param, virtual


Répondre à ce message

Sujets en rapport avec ce message

gestion des exceptions dans Visual C++ 6 [ par devmail ] Bonjour a tous,je suis en cours de developpement d'un programme compose d'un prg principale et de plusieurs dll. J'ai terminer les traitements et souh virtual template [ par Guillemouze ] Salut, je voudrais savoir si il est possible de faire des fonctions virtuelles template. voici mon cas : class Type {     void toto(int i) {} }; clas Pb de lien entre DLL et EXE [ par Sade ] Salut tous le monde.j'ai un problème avec une de mes Dll.Ma Dll est composé de trois classe:Class P : la classe pricipale qui est instancié dans le pr Problème de d'utilisation d'une Dll avec un exe [ par pca06 ] Bonsoir, Je dois utiliser les fonctionnalités d'une Dll dans un application écrite en C. La Dll est constituée d'un classe C++ exportée. J'ai déclaré dll et class [ par bdousse ] 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'utilisati API Hooking & accés mémoire [ par simtiers ] Salut !Voilà, j'essaie de faire un API Hooking sur Virtual PC pour le rendre transportable sur une clé USB.Le but est en fait de traiter tous ses appe CLASS -> DLL -> OBJECT VBA [ par fx_forum ] Maintenant que j'arrive a appeller en vba des fonctions c++ mises en dll , j'aimerai aller un grand au-dessus : ecrire une class, la mettre en dll et DLL : interface IUnknown en C [ par Mastersam ] Bonjour, je créé actuellement en driver ASIO sous forme de DLL, j'ai eu un exemple général de création d'un driver dans la SDK ASIO 2.2, mais tout est truc interessant pour les debutants [ par foxz ] ma question : est-ce portable ?ya t-il une autre solution ?non je ne demanderais pas si c safe thread :-))) (a priori ca l'est)class A{   int hidden;  héritage et surcharge opérateur << [ par gniouf63 ] Bonjour à tous j'espère ne pas mettre trompé de thème voila je developpe sous microsoft visual c++6  et je me demandais si il était possible de surcha


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales