Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3283 connectés 

 


Dernière réponse
Sujet : Dll en C++
Willythekid Je pense que tu veux parler de fonctions virutelles pures (qui t'oblige a reécrire une partie de ta classe dans ton prg)...Je vois que ca...
 
Avec une simple fonctions virtuelles tu es obligé de définir une fonction par defaut.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Willythekid Je pense que tu veux parler de fonctions virutelles pures (qui t'oblige a reécrire une partie de ta classe dans ton prg)...Je vois que ca...
 
Avec une simple fonctions virtuelles tu es obligé de définir une fonction par defaut.
Spinner Na, c un choix perso ! Je respecte les préfixes hongrois :)
TheJackal chite question comme ca:
c a cause des MFC que tu met un C devant les noms de class ou c un choix perso
Spinner Merci de vos conseils mais je suis convaincu que je m'y prend mal. Je vais faire autrement.
TheJackal la tu appelle la dll mais comment la dll appelle le prog?
et pkoi pas callback?
youdontcare le plus simple à faire : tu dérives de CEngine.
 
dans ton .exe :
 
// .h
class CEngine2 : public CEngine
{
 virtual HRESULT Initialization();
};
 
// .cpp
HRESULT CEngine2::Initialization()
{
   CEngine::Initialization();
   // init en plus ...
}
 
//
 
sinon, passer en paramètre d'init une callback qui sera appelée ...
 
//
 
et au fait tu ajouter quoi comme code d'init ?
TheJackal good choice
une dll qui appelle une fonction du prog... quoique que avec un callback mais fo voir l'usage que tu va en faire
Spinner Je crois que t'a raison. Je devrais plutot changer de conception.
TheJackal c pas une super conception d'un prog je trouve
Spinner En fait, dans la dll j'initialise de nombreux éléments puis je veux appeller une fonction (écrite dans le prog qui utilise la dll) pour que l'on puisse ajouter du code dans l'initialisation.
TheJackal :pt1cable:  :hap:
youdontcare non, c'est vraiment pas clair.
 
en général la dll contient du code 'autonome' (ou dépendant d'autres dll) qu'un programme principal appelle.  
 
utiliser dans la dll des fonctions écrites dans le programme ... hmmm pas bien bon ça. apparemment il te faut plutôt deux dll : une de base qui contient tes fonctions, la deuxième qui utilise la première, et l'exe qui utilise les deux.
 
enfin tu devrais plutôt détailler ce que tu veux faire ...
Spinner C'est ptet pas très clair:
En fait, je veux déclarer des fonctions dans ma Dll mais leur définition doivent être écrites dans le code du programme qui utilise la Dll.
Spinner J'ai un problème avec le C++, car j'obtient des erreurs de Link LNK2001.
Je crée une dll et ce que je veux, c'est créer une classe ayant des méthodes appellées au sein de la dll mais dont la définition se trouve dans le programme.
Je pense que je ne doit pas utiliser le mot clé 'virtual' pour réaliser ce que je veux...
Voilà mon code:
 
#ifdef ENGINE_EXPORTS
#define ENGINE_API __declspec( dllexport )
#else
#define ENGINE_API __declspec( dllimport )
#endif
 
class ENGINE_API CEngine
{
  virtual HRESULT Initialization();
  virtual HRESULT FrameMove();
 
public:
  CEngine( void );
  ~CEngine();
 
  virtual LRESULT MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
};
 
Merci ;)

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)