Eksport funkcji z DLL

Odpowiedz Nowy wątek
2011-07-18 13:30
0

Mam taką funkcję w DLL:

void StartRecording(bool State, HINSTANCE hInstance)
{
    if (State == true)
    {
        g_RecordHook = SetWindowsHookEx(WH_GETMESSAGE, &RecordProc, g_hInst, 0);
    }
    else
    {
        UnhookWindowsHookEx(g_RecordHook);
    }
 }

Chciałbym ją wyeksportować, ale nie wiem jak. Czy ktoś mógłby napisać potrzebny kod? Nie wiem też, co zmienić w dll.h. Na stronie http://cpp0x.pl jest artykuł o DLL i go sprawdzałem, ale nie działa. Szukałem w Google, ale znalazłem tylko eksport Delphi. O C++ nie ma mowy. Używam Dev-C++ i systemu Windows.

Pozostało 580 znaków

2011-07-18 14:01
0

Jak byś poszukał to znalazłbyś np. to :/
http://4programmers.net/Forum/C_i_C++/52627-Tworzenie_DLL


Pozostało 580 znaków

2011-07-18 14:26
0

Piszesz mi e-mail, że w tym linku nie ma nic o eksportowaniu funkcji, a linijka

LIBRARY asdf
EXPORTS
costam
costam_innego
evil_costam

to niby co?

Mi sięwydaje, że kolega dość obszernie wytłumaczył co i jak?

Tworzysz plik z rozszerzeniem def a w nim piszesz:

LIBRARY    <nazwa_biblioteki>
EXPORTS

StartRecording  

edytowany 3x, ostatnio: Gregory_Scot, 2011-07-18 14:30

Pozostało 580 znaków

2011-07-18 14:31
0

tak ale nie chodzi mi o .def, bo z tego co wiem trzeba wszystko zapisać w dllmain.cpp jako extern "C" {}

Pozostało 580 znaków

2011-07-18 14:40
new Programer napisał(a)

tak ale nie chodzi mi o .def, bo z tego co wiem trzeba wszystko zapisać w dllmain.cpp jako extern "C" {}

Tu masz przykład: http://translate.google.pl/tr[...]org/wiki/Dynamic-link_library

extern "C" __declspec ( dllexport ) double AddNumbers ( double a , double b )
 {
    return a + b ; powrót a + b;
}

czyli u Ciebie


extern "C" __declspec ( dllexport ) void StartRecording(bool State, HINSTANCE hInstance)
{
    if (State == true)
    {
           g_RecordHook = SetWindowsHookEx(WH_GETMESSAGE, &RecordProc, g_hInst, 0);
    }
    else
    {
          UnhookWindowsHookEx(g_RecordHook);
    }
 }

O to chodziło? Działa? :/


edytowany 4x, ostatnio: Gregory_Scot, 2011-07-18 14:46

Pozostało 580 znaków

2011-07-18 14:46
0

dzięki, jak zadziała, to napiszę.

edytowany 2x, ostatnio: new Programer, 2011-07-18 15:02

Pozostało 580 znaków

2011-07-19 09:15
0

faktycznie, zadziałało. Masz u mnie duże piwo ;)

edytowany 1x, ostatnio: new Programer, 2011-07-19 09:16

Pozostało 580 znaków

2011-07-19 11:51
1
new Programer napisał(a)

faktycznie, zadziałało. Masz u mnie duże piwo ;)

To gdzie mam się po to piwo zgłosić? ;)


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0