14. november 2002 - 14:04Der er
3 kommentarer og 1 løsning
dll fil registrering - fejl ?
jeg har en dll fil compileret via Visual C++ og ønsker at lade den registrer, bruger regsvr32 ”h:\Java native\WinApiJava.dll”
og får følgende besked:
h:\Java native\WinApiJava.dll was loaded, but the DllRegisterServer entry point was not found. DllRegisterServer may not be exported, or a corrupt version of h:\Java native\WinApiJava.dll may be in memory. Consider using Pview to detect and remove it.
Tilsyneladende er der en fejl, i hvert fald er filen ikke 'synlig' med mindre jeg kopierer den til eks. C:\winnt\System32.
I Visual C++ angives en option: /v "$(TargetPath)". Via regsvr32 /h får jeg ikke denne option ?
Hvor i reg.databasen kan jeg se hvilke dll filer der er registreret ?
Næsten i mål! men jeg er ikke helt tilfreds ;-) Jeg er ved at skyde mig ind på at dll'er kommer i flere afskygninger! Min konkrete dll indeholder ikke COM objekter, den indeholder funktioner og er lavet i ren C++ kode (er meget simpel, nærmest HelloWorld agtig). Får jeg en fejlmelding fordi, der ikke er COM objekter i (COM er vel noget MS-relateret og har vel ikke automatisk noget med C++ dll filer at gøre ?) Hvis ikke jeg skal registrere den, hvordan kan jeg så referere til den fra andre C++ programmer ? der er jo ikke en headerfil ?
Kun COM-objekter skal registreres med regsvr32. I så fald skal den bl.a. eksportere funktionen DllRegisterServer(). Et COM-objekt er ganske rigtigt en M$ opfindelse. Det kan både implementeres som et DLL og som en exe-fil.
Du skal ikke registrere den, men du skal kende dens interface for at kalde funktioner i den. Normalt vha. en eller anden form for header-fil. Hvis den er skrevet i C(++), er der højst sandsynligt også en header-fil et eller andet sted...
Jeg er blevet noget klogere på dll filer, men der er pæn stak ubesvarede spm tilbage...(to be continued ;-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.