Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[DLL] Importowanie klasy...

Ostatnio zmodyfikowano 2012-01-29 13:21
Autor Wiadomość
Mrovqa
Temat założony przez niniejszego użytkownika
[DLL] Importowanie klasy...
» 2012-01-28 15:52:23
Witam!

Mam mały problem... otóż mam zamiar z własnej DLLki zaimportować klasę (DLL linkowana dynamicznie). Wzorowałem się na (DarkCult) WinAPI\DLL.
I tu jest problem. Jak zadeklarować klasę? Na darkculcie autor zapomniał to zamieścić... próbowałem sam się pobawić, ale nic z tego (albo nazwa nieznana, albo nie ma takiej metody...). Szukałem na MSDN-ie, ale szczerze mówiąc niezbyt to zrozumiałem xD
Jak zadeklarować tę klasę? Dodam, że korzystam z VC++ 2010 Exp i używam
extern "C++"
 (wcześniej importowałem funkcję - z tym problemu nie było :)).

Pozdrawiam,
Mrowqa
P-49667
pekfos
» 2012-01-28 15:59:21
No klasa w pliku .h. Typu nie da się importować w czasie wykonania programu ;)

Btw:
extern "C++"
?
P-49668
Mrovqa
Temat założony przez niniejszego użytkownika
» 2012-01-28 16:13:25
Plik *.h? W externie dawałem całą definicję klasy (bez metod)...
C/C++
extern "C++"
{
    class DLLIMPORT DllClass // skopiowane z pliku *.h z DLLki
    {
    public:
        DllClass();
        ~DllClass( void );
        bool Test( int what );
        int set( int what );
       
        int cos;
    private:
        void init();
    };
    DllClass * DLLIMPORT CreateObject(); // <-- tu jest ten error...
    void DLLIMPORT DestroyObject( DllClass * ptr );
}
Wtedy wywala mi to:
1>d:\c++\my projects\testy itp\dll class test\dll app\main.cpp(25): error C2059: syntax error : '__declspec(dllimport)'
Z kolei gdy dam samą deklarację klasy to wywala inny błąd (nie widzi metod). O co chodzi? -_-'
P-49669
pekfos
» 2012-01-28 16:20:13
Szukałeś w Google? Chyba w pierwszym wyniku jest artykuł o klasach w DLL z przykładem :P
P-49671
Mrovqa
Temat założony przez niniejszego użytkownika
» 2012-01-28 16:28:32
Wiesz, trzeba wiedzieć co wpisać (w google) ;P
Znalazłem coś na CodeProject, tyle że jest dłuuuuugie... tłumaczenie i zrozumienie tego trochę by mi zajęło ..:/
P-49676
pekfos
» 2012-01-28 16:30:59
Ja tam od razu pomyślałem by wpisać "DLL class" :P
P-49677
Mrovqa
Temat założony przez niniejszego użytkownika
» 2012-01-28 17:26:23
Ja ogólnie mówiłem o szukaniu ;P Wpisałem coś skomplikowanego ;P Po za tym "DLL class" to mi bardziej kojarzy się ze statycznym linkowaniem ;P
Wracając do tematu... kupa błędów, a po ich poprawieniu to samo co miałem wcześniej:
1>d:\c++\my projects\testy itp\dll example\dll example\dllexports.h(15): error C2059: syntax error : '__declspec(dllexport)'
:/
(przykład z pierwszego linka w google dla frazy "dll class")
P-49686
pekfos
» 2012-01-28 17:28:26
extern "C++"
 wygląda jakoś podejrzanie :P Skąd pomysł na coś takiego?
P-49689
« 1 » 2
  Strona 1 z 2 Następna strona