Napisałem sobie następującą klasę:
- Kod: Zaznacz cały
TMojaKlasa : public TPaintBox {
void Maluj();
};
Chciałbym, żeby malowanie odbywało się w oddzielnym wątku. Na stronie cyfrowegobarona http://cyfbar.republika.pl/api2.html#api14 jest sposób jak włączyć wątki dla formatki.
Zrobiłem więć tak ( plik *.h) : ( KSEUDO KOD )
- Kod: Zaznacz cały
TMojaKlasa : public TPaintBox {
private:
int W_ID;
unsigned int W_PD;
public:
void Maluj();
};
No i plik *.cpp ( KSEUDO KOD )
Tworzę funkcje Wyliczenia1 oraz w Konstruktorze chce uruchomić wątek.
- Kod: Zaznacz cały
//------------------------------------------------------------------------
int __fastcall Wyliczenia1(Pointer Parameter) {
// Jak mam się tutaj odwołać do funkcji TMojaKlasa->Maluj();
}
//------------------------------------------------------------------------
TMojaKlasa::TMojaKlasa() {
W_ID = BeginThread(NULL, 0, Wyliczenia1, this, 0, W_PD);
}
//------------------------------------------------------------------------
No i tutaj mam pytanie jak się odwołać mam do mojej metody Maluj() ??
W Przypadku Formatek jest to proste bo udostępniają instancje obiektu poprzez :
- Kod: Zaznacz cały
extern PACKAGE TForm *Form1;
Jak robie coś takiego samego z moją klasą to liner mi krzyczy przy używaniu funkcji Maluj w wątku.
Wiem, że to pytanie bardziej z teori C++ ale będe wdzięczny z pomoc
pozdrawiam