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
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?
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1
Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
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.def
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 ); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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); }
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
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
![]()
![]()
![]()
![]()
Partager