Witam wszystkich forumowiczów.

Mój problem ma związek z biblioteką LibCurl .NET lecz wydaje mi się ze ma to związek z ogólną budową języka.

Otóż w głównej klasie Form1 tworzę sobie metodę sekwencja():

public void sekwencja(object d)
       {
           daneWatku info = (daneWatku)d;


           pobierzkod pobierz = new pobierzkod(info.adres);
  

           while (true)
           {
               if (pobierz.sukces()) {
               /* ... */
                   
               }
           }
       }

Metoda sukces klasy pobierz zwraca wartość bool jeżeli w kodzie strony został znaleziony pewien ciąg znaków.

W evencie przyciśnięcia button1 następuje utworzenie wątku z parametrem:

private void button1_Click(object sender, EventArgs e)
        {

               dane.adres = "jakistamadres";
                ParameterizedThreadStart param = new ParameterizedThreadStart(sekwencja);


                   Thread watek = new Thread(param);
                  watek.Start(dane);
   
        }

Problem pojawia się gdy w metodzie sekwencja wywołuję metodę pobierz z klasy pobierzkod odpowiedzialną za pobranie kodu. Otóż nie zostaje wykonana inna metoda a mianowicie:

public int OnWriteData(Byte[] buf, Int32 size, Int32 nmemb,
        Object extraData){

            wynik += Encoding.UTF8.GetString(buf);
            MessageBox.Show(wynik);
            return size * nmemb;
                        
        }

Metoda ta utworzona zostaje na potrzeby biblioteki LibCurl .Net. Powinna zostać wywołana kiedy wykonam pobierzkod.sukces() automatycznie jednak tak się nie dzieje. Co dziwne gdy klasę tą utworze nie w wątku lecz np. podczas ładowania Form1 wszystko działa elegancko i metoda wywołuje się.

Mam nadzieję, że ktoś pokonał zawiłość mojego problemu i jest w stanie odpowiedzieć na moje pytanie za co z góry dziękuję.

Pozdrawiam
Newbie123