funkcja callback wewnatrz klasy

0

Mam taka klase do obslugi radia internetowego:



class NRadio
{
  public:

  NRadio(void)
   {
    BASS_Init(1,44100,0,0,NULL);
   }

  String status; //status polaczenia
  String tytul;  //biezacy tytul utworu
  String url;    //url stacji do otworzenia

  DWORD channel; //strumien odtwarzania

  bool polacz(void)

         {   channel=BASS_StreamCreateURL(url.c_str(),0,BASS_STREAM_META,StatusProc,0); //dlaczego tutaj blad?? 
       BASS_ChannelPlay(channel,FALSE);


       return true;
      }

 private:

 void CALLBACK StatusProc(void *buffer,DWORD length,DWORD user)
   {

     //.........................
   }



};

Problem jest nastepujacy: kiedy probuje kompilowac ten kod, otrzymuje blad, ze parametr StatusProc (czyli funkcja CALLBACK) ma nieodpowiedni typ i nie mozna dokonac konwersji. Natomiast jezeli umieszcze ten kod poza klasa, wszystko dziala.
Jak sobie z tym poradzic?

Tak samo jest, kiedy probuje uruchomic nowy watek wewnatrz klasy - jezeli funkcja obslugi watku oraz funkcja tworzaca watek sa wewnatrz klasy, dostaje komunikat o bledzie. Co mozna zrobic?

0

http://4programmers.net/Forum/103374?h=callback%20static#103374

Metoda ma niejawnie typ __thiscall, natomiast statyczne metody i normalne funkcje mają, np. __cdecl

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