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 :

d�claration d'une dll


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre habitu�
    Inscrit en
    Novembre 2003
    Messages
    11
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 11
    Par d�faut d�claration d'une dll
    salut
    j'ai essaie de d�clarer ma dll exdll :
    regsvr32 C:/exdll.dll
    j'ai le message suivant:
    C:/exdll.dll was loaded, but the DllRegisterServer entry point was not found

  2. #2
    R�dactrice
    Avatar de xave
    Femme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par d�faut
    Et tu es s�r que ta dll compile bien?

    A-t'elle �t� compil�e sous le m�me OS que celui o� tu essais de l'installer?

  3. #3
    Membre averti
    Inscrit en
    Septembre 2002
    Messages
    26
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 26
    Par d�faut
    est ce que tu n aurais pas besoin d un DllMain class ?

  4. #4
    Membre habitu�
    Inscrit en
    Novembre 2003
    Messages
    11
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 11
    Par d�faut
    oui ma dll est compiler sans problem
    j'ai l'utilise dans un programe vb ca marche
    je veut la declare pour l'utiliser dans une page asp

    voila la source de mon main.cpp:
    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
     
    #include <windows.h>
     
    BOOL APIENTRY DllMain( HANDLE hModule, 
                           DWORD  ul_reason_for_call, 
                           LPVOID lpReserved
    					 )
    {
    	return true;
    }
    short __stdcall fct( short a, short  *b )
    	{
    		*b = a + a;
    		return( *b + a );
    	}
    et de exdll.def
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    LIBRARY exdll
     
    EXPORTS
    	fct

  5. #5
    Membre habitu�
    Inscrit en
    Novembre 2003
    Messages
    11
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 11
    Par d�faut
    j'ai essaie de d�clarer ma dll exdll :
    regsvr32 C:/exdll.dll
    j'ai le message suivant:
    C:/exdll.dll was loaded, but the DllRegisterServer entry point was not found

    qcq peut m'�clairai sur se message : :

  6. #6
    R�dacteur/Mod�rateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par d�faut
    Salut

    puisque tu utilises regsvr32.exe, as-tu cr�� ta dll comme un objet ATL ?

    Tu dois avoir dans le fichier principal ces quatre fonctions pr�-�crites par Visual C: (ma dll ici utilise MFC)
    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
    /////////////////////////////////////////////////////////////////////////////
    // Used to determine whether the DLL can be unloaded by OLE
     
    STDAPI DllCanUnloadNow(void)
    {
    #ifdef _MERGE_PROXYSTUB
        if (PrxDllCanUnloadNow() != S_OK)
            return S_FALSE;
    #endif
        AFX_MANAGE_STATE(AfxGetStaticModuleState());
        return (AfxDllCanUnloadNow()==S_OK && _Module.GetLockCount()==0) ? S_OK : S_FALSE;
    }
     
    /////////////////////////////////////////////////////////////////////////////
    // Returns a class factory to create an object of the requested type
     
    STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
    {
    #ifdef _MERGE_PROXYSTUB
        if (PrxDllGetClassObject(rclsid, riid, ppv) == S_OK)
            return S_OK;
    #endif
        return _Module.GetClassObject(rclsid, riid, ppv);
    }
     
    /////////////////////////////////////////////////////////////////////////////
    // DllRegisterServer - Adds entries to the system registry
     
    STDAPI DllRegisterServer(void)
    {
    #ifdef _MERGE_PROXYSTUB
        HRESULT hRes = PrxDllRegisterServer();
        if (FAILED(hRes))
            return hRes;
    #endif
        // registers object, typelib and all interfaces in typelib
        return _Module.RegisterServer(TRUE);
    }
     
    /////////////////////////////////////////////////////////////////////////////
    // DllUnregisterServer - Removes entries from the system registry
     
    STDAPI DllUnregisterServer(void)
    {
    #ifdef _MERGE_PROXYSTUB
        PrxDllUnregisterServer();
    #endif
        return _Module.UnregisterServer(TRUE);
    }
    Ton .DEF doit au moins contenir ceci :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    EXPORTS
    	DllCanUnloadNow     @1 PRIVATE
    	DllGetClassObject   @2 PRIVATE
    	DllRegisterServer   @3 PRIVATE
    	DllUnregisterServer	@4 PRIVATE
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas �tre meilleur que les autres, il faut �tre meilleur que soi." Albert Jacquard
    "Ceux qui savent o� ils ont pos� leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, �a vous changera les id�es !
    Ma page Prolog
    Mes codes sources comment�s

    Mon avatar : La Madeleine � la veilleuse de Georges de La Tour

  7. #7
    Membre habitu�
    Inscrit en
    Novembre 2003
    Messages
    11
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 11
    Par d�faut
    je n'est pas c'est 4 fonction
    quand je cr�e la dll je fai new/win32 dynamic-link library/ A simple DLL project/
    et pour ma fonction je l'ajoute dans le fichier principale
    et je la declare dans le .def
    je vais essai d'intgrer ce que vous avez dit

  8. #8
    Membre habitu�
    Inscrit en
    Novembre 2003
    Messages
    11
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 11
    Par d�faut
    est ce qu'il ya des includes avant ces fonctions
    quand je compile j'ai des erreur comme
    'AFX_MANAGE_STATE' : undeclared identifier
    AfxGetStaticModuleState' : undeclared identifier
    ...

    mon but c'est cr�e une dll qui va g�r� mes connection a la base de donn�es et la declare dans la base de regster on utilisent regsvr32.exe

    avec VB je le fait sans probleme
    avec VC++ comme je suis d�butent c'est pas facile

    je vous remerci infiniment pour votre aide

  9. #9
    Membre habitu�
    Inscrit en
    Novembre 2003
    Messages
    11
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 11
    Par d�faut
    l'ai cr�� la dll comme un objet ATL
    j'ai mis la fonction de l'addition j'ai tester avec un petit programe vb ca marche quand j'ai essai de la declarer dans la base de regestre
    j'ai eu le message suivant :
    Loadlibrary("d:\application\exdll.dll") failed
    le module sp�cifi� est est introuvable


Discussions similaires

  1. R�ponses: 2
    Dernier message: 07/05/2008, 15h01
  2. pb de r�cup de handle � partir d'une dll
    Par yokito dans le forum Langage
    R�ponses: 2
    Dernier message: 20/08/2002, 12h29
  3. Utilisation d'une dll �crite en delphi 5 dans VB6
    Par Jean-Louis dans le forum Langage
    R�ponses: 4
    Dernier message: 05/08/2002, 09h19
  4. Declarer une dll Delphi ?
    Par DelphiCool dans le forum C++Builder
    R�ponses: 2
    Dernier message: 26/07/2002, 10h07
  5. Equivalent � ExeName pour une DLL
    Par Smortex dans le forum Langage
    R�ponses: 7
    Dernier message: 16/07/2002, 21h07

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