Übergabe von Object in _beginthreadex()
-
Hallo,
ich habe ein Problem. Ich möchte einen Thread beim Drücken auf einen Button innerhalb meiner GUI starten.
Dieser Trhread führt eine Funktion ausserhalb der Klasse aus , die u.a. auf eine TextBox innerhalb meiner zugreifen und diesen aktualisieren soll.
Somit muss ich die Adresse des TextBox-Objekts bei Aufruf des Threads übergeben. Leider bekomme ich es nicht hin, das Objekt zu übergeben.
Folgender Code erläutert mein Problem:public ref class GUI_Klasse : public System::Windows::Forms::Form { this->textBox1 = (gcnew System::Windows::Forms::TextBox()); this->button1 = (gcnew System::Windows::Forms::Button()); private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { groupBox1->Enabled = false; *pEAktiv = 1; hThread_startThread = (HANDLE)_beginthreadex(NULL, 0, &start_funktion, (void*)&this->textBox1, 0, &threadID); } }
Bei (void*) erhalte ich die Meldung (Invalid type conversion), wenn ich das Objekt übergeben möchte. Das liegt vermutlich daran, dass es ein garbage-collected Object ist. Gibt es hier einen Workaround?
Gruss
Payon
-
Hallo,
dein Beitrag gehört in das C++/CLI Unterforum. Und da du ja .NET verwendest, warum dann nicht auch gleich .NET-Threads bzw. noch besser Tasks?
Und den als "wichtig" markierten Artikel im C++/CLI-Forum solltest du auch mal lesen
-
Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.