Frame aus Thread erstellen



  • Hallo,

    ich kaempfe seit geschlagenen 3 Wochen mit folgendem Problem:

    Wenn ich aus einem Thread einen neuen Frame oeffnen will, zeigt er den Frame zwar in der Taskleiste an, er schmiert dann aber ab. Wenn ich den Frame aus dem Kontstuktor erstelle funktioniert alles einwandfrei, nur aus dem Thread heraus geht es nicht.

    Genaueres:
    Ich benutze Windows Server 2003 SP1 SDK und fuer den Frame den wxFrame von wxWidgets. Nachdem ich den Thread erstelle

    m_hLineMsgThread = CreateThread(NULL,NULL,LineEventThread,this,NULL,0);

    warte dieser auf eine Event (bei mir ein Anruf der ueber TAPI ausgelesen wird). Aus diesem Thread soll dann ein neuer Frame geoeffnet werden.

    Hierbei schmiert er ab, kann mir jemand helfen?

    Tausen Dank...



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Andere GUIs - Qt, GTK+, wxWidgets verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • hm...

    Einen Frame zeigt man doch mittels wxFrame::Show() an, welches aber nicht blockiert.
    Kann es sein, dass der Thread schon beendet ist, bevor auf den Frame überhaupt
    zugegriffen werden kann?

    Erstell den Frame doch testhalber mal ausserhalb des Threads.
    Der Thread kriegt einen Zeiger auf den Frame und kann ihn bei Bedarf anzeigen.

    mfg
    Martin

    PS: in wxWidgets gibt's auch eine Threadklasse: wxThread



  • Verwendest du einen Microsoft-Compiler oder mingw? Dann benutz _beginthread statt CreateThread.

    Ob das in deinem konkreten Fall was bringt, kann ich nicht sagen, aber es ist jedenfalls trotzdem die empfohlene Methode, Threads zu erzeugen.


Anmelden zum Antworten