juhu erfolgreich threading aber immenrnoch ein prob :-\ *bearbeitet*



  • ich habe erfolgreich einen 2ten arbeitsthread zu meinem Hauptthread laufen lassen

    ich habe gelesen der die Thread Method soll global oder static sein...

    wenn meine methode nun static ist "static UINT TestProc(LPVOID pParam)"
    dann kann ich doch gar nicht auf meien members in meiner dlg zugreifen.....

    was kann man da tun? bzw. wie muss ich voran gehen?



  • satische funktionen können generell nich auf membervariablen zugreifen
    warum? lies mal durch was ne statische funktion is

    zu deinem problem
    ich glaub der standardweg läuft so

    -übergib beim erstellen deines threads das windowhandle deines dialogs als benutzerdefinierten parameter: CreateThread(...,dlg.GetSafeHwnd(),...);
    -mach in der threadfunktion aus dem windowhandle einen zeiger auf deine dialogklasse

    tfunc(LPVOID param)
    {
    DeinDialg *dlg=(DeinDialog*)CWnd::FromHandle((HWND)param);
    dlg->m_blah="blah";
    }


Anmelden zum Antworten