Avatar billede spectual Nybegynder
21. januar 2002 - 16:42 Der er 3 kommentarer og
1 løsning

Importere funktioner fra DLL

Jeg har en DLL som jeg gerne vil bruge 2 funktioner fra.

Jeg bruger Visual C++.

Kan nogen forklare mig hvad der skal gøres for at få det til at virke?
Avatar billede alvion Nybegynder
21. januar 2002 - 19:39 #1
Du indlæser dll\'en med

HINSTANCE mindll = LoadLibrary(\"MINDLL.DLL\");

For at få en pointer til en af funktionerne, bruger du

void *pfunc = GetProcAddress(mindll, \"Funktionsnavnet\");
Avatar billede alvion Nybegynder
21. januar 2002 - 19:57 #2
Et bedre eksempel:

Vi forestiller os at du har en dll med navnet \"mindll.dll\". I denne dll har du en funktion, der er defineret som:

VOID MinFunk(LPTSTR param1, int param2);

Så skal din kode se således ud


typedef VOID (*MYPROC)(LPTSTR, int);

HINSTANCE hinstLib;
MYPROC ProcAdd;

hinstLib = LoadLibrary(\"mindll.dll\");

if (hinstLib != NULL) {
    ProcAdd = (MYPROC) GetProcAddress(hinstLib, \"MinFunk\");

    if (ProcAdd != NULL)
        (ProcAdd)(\"streng parameter 1\", 5642);

    fFreeResult = FreeLibrary(hinstLib);
}
Avatar billede spectual Nybegynder
28. august 2002 - 23:25 #3
tak for svaret ..  beklager det tog så lang tid at acceptere
Avatar billede alvion Nybegynder
29. august 2002 - 07:40 #4
np - jeg har point nok ;-)
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