Aplikacje wielowÄ…tkowe - funkcje poza plikiem wykonywalnym

dział ogólny

Re: Aplikacje wielowÄ…tkowe - funkcje poza plikiem wykonywalnym

Nowy postprzez banita » Å›roda, 30 wrzeÅ›nia 2009, 13:03

robisz tak samo (prawie:P) jak w przypadku funkcji.

w module dll(*.cpp) definiujesz metody klasy a w pliku *.h dajesz jej deklaracje np:

class __declspec(dllexport) DllClass <--------- tu wazne!!!
{
public:
DllClass();
virtual ~DllClass(void);

private:

};

taka biblioteke musisz zaladowac statycznie (*.lib), doalczyc header i mozesz twozyc obiekty tej klasy.
rozwaizanie to nie jest jednak przenosnie miedy roznymi kompilatorami.

Za ten post autor banita otrzymał podziękowanie od:
Koziol
Avatar użytkownika
banita
Kreacjusz
Kreacjusz
 
Posty: 283
Dołączył(a): poniedziałek, 28 lipca 2008, 20:07
PodziÄ™kowaÅ‚ : 1
OtrzymaÅ‚ podziÄ™kowaÅ„: 18
System operacyjny: Windows 7 Professional
Kompilator: C++Builder 2010 Update 5,
Delphi 2010 Update 5,
NetBeans 6.9(MinGw + Qt),
Visual Studio 2008 + Qt
Gadu Gadu: 0
    NieznanyNieznana

Re: Aplikacje wielowÄ…tkowe - funkcje poza plikiem wykonywalnym

Nowy postprzez Koziol » Å›roda, 30 wrzeÅ›nia 2009, 14:03

Ok wszystko się ładnie kompiluje itp. ale po uruchomieniu programu i próbie odpalenia tej klasy wyskakuje naruszenie pamięci (odwołuje się do funkcji w sekcji public). Adresy naruszenia pamięci nie są samymi zerami.


Nie wiem czy to istotne ale moja klasa dziedziczy po klasie TThread.

EDIT: znalazlem problem w nagłówku *.dll załączanym do programu trzeba dać

class __declspec(dllimport) TDBThread : public TThread
Avatar użytkownika
Koziol
Intelektryk
Intelektryk
 
Posty: 144
Dołączył(a): niedziela, 13 lipca 2008, 17:36
PodziÄ™kowaÅ‚ : 8
OtrzymaÅ‚ podziÄ™kowaÅ„: 2
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
    NieznanyNieznana

Poprzednia strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 13 gości

cron