Avatar billede mickni33 Nybegynder
30. april 2010 - 12:08 Der er 4 kommentarer og
1 løsning

import .dll i mit projekt

Hej

Jeg har en .dll som jeg gerne vil bruge til mit c++ projekt (Visual studio, ikke .NET)

Men jeg kan ikke finde ud af at koble den til mit projekt da man ikke ka lave en " add references" i c++ som man kan når jeg arbejder med .NET..

Hvordan gør jeg så det?
Avatar billede bertelbrander Novice
30. april 2010 - 13:23 #1
Ofte kommer der et bibliotek (.lib) og en header fil sammen med .dll'en.
Så inkluderer man headerfilen i sine .cpp filer og tilføjer biblioteket til projektet.

Alternativt må man bruge GetProcAddress til at hente adressen på funktionen i DLL en:
http://msdn.microsoft.com/en-us/library/ms683212%28VS.85%29.aspx
Avatar billede mickni33 Nybegynder
30. april 2010 - 14:23 #2
hmmmm næææ der er kun en dll... måske en com
Det er en fra Miarplacid printer driver
Avatar billede bertelbrander Novice
30. april 2010 - 14:45 #3
Så er der ikke andet at gøre end at bruge den tunge og usikre vej med GetProcAddress.
Avatar billede mickni33 Nybegynder
30. april 2010 - 17:26 #4
ok...  har du et kode eksempel eller er dit link ok :-)
Avatar billede killer_bee Nybegynder
06. maj 2010 - 11:03 #5
koden ser ca sådan ud...  men kig på MSDN også

-----
i .h filen definitioner:

HINSTANCE      m_hLib;
BOOL (PASCAL *SOME_BOOLFUNCTION) (SOME_PARAMETER_TYPE1,SOME_PARAMETER_TYPE2);

MyLoadDLLfunction(DLL_Name)
-----
i .cpp filen:

MyLoadDLLfunction(DLL_Name)
{
(FARPROC&) SOME_BOOLFUNCTION= NULL;
m_hLib = ::LoadLibrary(DLL_Name);
(FARPROC&) SOME_BOOLFUNCTION= ::GetProcAddress(m_hLib , "YOUR_PRINTER_FUNCTION_NAME"));
}
----
så mangler der noget oprydning og fejlhåndtering, men det må du lige tilføje :D
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester