Aus dem Handle den CWinThread erzeugen?



  • Hallo Forum,
    wie kann ich aus dem Thread-Handle das ich in einer Funktion erstellt habe,
    ein CWinThread in einer neuen Funktion, die das Handle als Parameter erhällt, erzeugen?

    Das Handle wier mit noch anderen Parametern in einer Struktur gespeichert und
    an die Threadfunktion übergeben!

    Alle Parameter sind ok, nur aus dem Handle kann ich kein CWinThread erstellen!?

    LG
    pixel


  • Mod

    Nein! Das geht nicht.
    Ein CWinThread wird nur durch die Funktion AfxBeginThread erzeugt. Nachträglich ist das nicht möglich.

    Woher hast Du dieses Handle? Ein CWinThread würde nur dann Sinn machen, wenn dieser Thread auch wirklich in dem Kontext dieses CWinThread erzeugt wurde. Die MFC erlaubt ja AfxGetThread um das aktuelle CWinThread Objekt zu besorgen. Das würde dann nicht gehen.



  • Hallo,
    ich hab das Handle aus der Funktion in der ich den Thread starte:

    in der ThreadFunc(LPVOID lParam) möchte ich das handle von genau dem thread haben
    der diese auch aufgerufen hat, bis jetzt hab ich mit AfxGetThread() gearbeitet,
    ich wollte nur wissen ob das möglich ist so wie ich es gefragt habe, weil bei mir das programm abgestürzt hat 🙂 bei:

    CWinThread* pThread = (CWinThread*) pThreadParams->m_hThread; // :D handle von thread, hier absturz
    
    // und hier ist ok:
    CWinThread* pThread = AfxGetThread(); // so ist alles ok! :D
    

    Also weiter bleiben bei AfxGetThread(); 🙂
    danke 👍
    lg
    pixel


Anmelden zum Antworten