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
Version imprimable
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
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?
est ce que tu n aurais pas besoin d un DllMain class ?
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:
et de exdll.defCode:
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 ); }
Code:
1
2
3
4
5 LIBRARY exdll EXPORTS fct
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 :?: :?:
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)
Ton .DEF doit au moins contenir ceci :Code:
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); }
Code:
1
2
3
4
5 EXPORTS DllCanUnloadNow @1 PRIVATE DllGetClassObject @2 PRIVATE DllRegisterServer @3 PRIVATE DllUnregisterServer @4 PRIVATE
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
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
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
:cry: :cry: :cry: :cry: