IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[Debutant]Créer une DLL MFC ?


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2006
    Messages : 238
    Par défaut [Debutant]Créer une DLL MFC ?
    Bonjour,
    je travail sur Visual C++, j'ai essayer de créer une DLL MFC dans je veux insérer une fonction de somme voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    // dll2.cpp : Defines the initialization routines for the DLL.
    //
     
    #include "stdafx.h"
    #include "dll2.h"
     
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
     
    //
    //	Note!
    //
    //		If this DLL is dynamically linked against the MFC
    //		DLLs, any functions exported from this DLL which
    //		call into MFC must have the AFX_MANAGE_STATE macro
    //		added at the very beginning of the function.
    //
    //		For example:
    //
    //		extern "C" BOOL PASCAL EXPORT ExportedFunction()
    //		{
    //			AFX_MANAGE_STATE(AfxGetStaticModuleState());
    //			// normal function body here
    //		}
    //
    //		It is very important that this macro appear in each
    //		function, prior to any calls into MFC.  This means that
    //		it must appear as the first statement within the 
    //		function, even before any object variable declarations
    //		as their constructors may generate calls into the MFC
    //		DLL.
    //
    //		Please see MFC Technical Notes 33 and 58 for additional
    //		details.
    //
     
    /////////////////////////////////////////////////////////////////////////////
    // CDll2App
     
    BEGIN_MESSAGE_MAP(CDll2App, CWinApp)
    	//{{AFX_MSG_MAP(CDll2App)
    		// NOTE - the ClassWizard will add and remove mapping macros here.
    		//    DO NOT EDIT what you see in these blocks of generated code!
    	//}}AFX_MSG_MAP
    END_MESSAGE_MAP()
     
    /////////////////////////////////////////////////////////////////////////////
    // CDll2App construction
     
    CDll2App::CDll2App()
    {
    	// TODO: add construction code here,
    	// Place all significant initialization in InitInstance
     
    int _stdcall somme(int x , int y)
    {
        return x+y;
    } 
     
    }
     
    /////////////////////////////////////////////////////////////////////////////
    // The one and only CDll2App object
     
    CDll2App theApp;
    j'ai ce message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Deleting intermediate files and output files for project 'dll2 - Win32 Debug'.
    --------------------Configuration: dll2 - Win32 Debug--------------------
    Compiling resources...
    Compiling...
    StdAfx.cpp
    Compiling...
    dll2.cpp
    D:\Program Files\Microsoft Visual Studio\MyProjects\dll2\dll2.cpp(59) : error C2601: 'somme' : local function definitions are illegal
    Error executing cl.exe.
     
    dll2.dll - 1 error(s), 0 warning(s)
    je ne trouve pas la solution et je ne comprend pas comment procéder avec ce type de projet !!!

    Merci les amis pour votre aide

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CDll2App::CDll2App()
    {
    	// TODO: add construction code here,
    	// Place all significant initialization in InitInstance
     
    int _stdcall somme(int x , int y)
    {
        return x+y;
    } 
     
    }

    devrait pas etre ca plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CDll2App::CDll2App()
    {
    	// TODO: add construction code here,
    	// Place all significant initialization in InitInstance
    }
    
    int _stdcall somme(int x , int y)
    {
        return x+y;
    }

  3. #3
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Beh tu déclares et définis une fonction dans le constructeur d'une class toi ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2006
    Messages : 238
    Par défaut
    Voua avez raison j'ai pas fait attention parfois je suis ....

    Merci.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2006
    Messages : 238
    Par défaut
    Comment je peux faire appelle à cette DLL pour la tester ?

    Merci

  6. #6
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Tu inclus le .lib et le .h à ton projet puis tu appelles normalement

    N'oublies pas de mettre le .dll dans le rep de l'exe

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2006
    Messages : 238
    Par défaut
    sa marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Deleting intermediate files and output files for project 'testdll2 - Win32 Debug'.
    --------------------Configuration: testdll2 - Win32 Debug--------------------
    Compiling...
    StdAfx.cpp
    Compiling...
    testdll2.cpp
    D:\Program Files\Microsoft Visual Studio\MyProjects\testdll2\testdll2.cpp(10) : error C2065: 'somme' : undeclared identifier
    Error executing cl.exe.
     
    testdll2.exe - 1 error(s), 0 warning(s)

Discussions similaires

  1. [VB6]comment créer une dll
    Par kboo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 12/04/2006, 14h32
  2. Comment (ou peut on) créer une DLL .NET ?
    Par Mickey.jet dans le forum Delphi .NET
    Réponses: 4
    Dernier message: 02/04/2006, 15h54
  3. Réponses: 3
    Dernier message: 20/02/2006, 18h32
  4. Comment créer une dll Win32 sous Delphi ?
    Par Mickey.jet dans le forum Langage
    Réponses: 8
    Dernier message: 16/06/2005, 15h38
  5. [MFC]Créer une DLL BIS
    Par Furtif_00 dans le forum MFC
    Réponses: 5
    Dernier message: 28/06/2004, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo