Witam!
Do tej pory tylko raz miałem okazję programować wielowątkowo niestety swoich doświadczeń nie mogę przenieść do c++, gdyż był to program napisany w Javie.
Do wspomnianego w moich poprzednich problemach programu muszę dołączyć właśnie programowanie wielowątkowe, aby TextBoxy aktualizowały mi się na bieżąco, a nie po wykonaniu wątku głównego. I tutaj pojawia się problem:
Używam poniższej specyfikacji:
http://msdn.microsoft.com/en-us/library/system.threading.thread.aspx
Mój program na nast. budowę:
public ref class Form1 : public System::Windows::Forms::Form
{
//definiowanie statycznych el. itp. sami wiecie lepiej ode mnie co tu jest
// globalnie definiowane texboxy itp. dynamiczne + tablice w których przechowuje otrzymane od użytkownika dane
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
//inicjowanie dynamicznych kontrolek, wypełnianie tablic
}
void symulacja()
{
//tutaj zaczyna się symulacja zachowania sys. operacyjnego
}
};
W ostatniej linii button1_Click wywołuje metodę symulacja, ale jej wyniki są widoczne dopiero po jej zakończeniu, co mija się z celem.
Stworzyłem więc globalnie wątek:
Thread^ watek;
Który chciałbym zainicjować w ostatniej linii metody button1_Click, ale nijak nie potrafię tego zrobić, choć staram się wiernie przytoczyć przykłady z podanego linku np.:
watek = gcnew Thread( gcnew ThreadStart( &workingset::Form1::symulacja,watek) );
Pełen kod programu:
http://pastebin.com/iteq1z4m
Po raz kolejny proszę o pomoc!