Threads in Klassen aufrufen



  • hallo, und zwar ich will in einer klasse einen thread aufrufen,

    class Beispiel
    {
    	private:
    		HANDLE hThread;
    		BOOL bExitValue;
    	public:
    		Beispiel();
    		~Beispiel();
    
    		VOID STARTTHREAD();
    		VOID WINAPI RUNTHREAD();
    }
    
    Beispiel::Beispiel() 
    { 
    	Beispiel::bExitValue = FALSE;
    	Beispiel::hThread = NULL; 
    }
    Beispiel::~Beispiel()
    {
    	Beispiel::bExitValue = TRUE;
    }
    
    VOID Beispiel::STARTTHREAD()
    {
    	Beispiel::hThread = CreateThreadA(NULL,NULL,&Beispiel::RUNTHREAD,NULL,NULL,NULL);
    }
    
    VOID WINAPI Beispiel::RUNTHREAD()
    {
    	while(!Beispiel::bExitValue)
    	{
    		//....
    	}
    }
    
    Beispiel *bsp1 = new Beispiel;
    bsp1->STARTTHREAD();
    delete bsp1;
    
    // warum geht das nicht mit dem thread ?
    // also es kommt error bei CreateThread
    


  • Hier wird auch immer das gleiche gefragt... 😉
    Callbacks dürfen nicht in Klassen liegen. Eine Möglichkeit ist es, die Callback-Funktion global zu machen und dieser einen Pointer zu der
    Instanz deiner Klasse mitzugeben.



  • WebFritzi schrieb:

    Hier wird auch immer das gleiche gefragt... 😉
    Callbacks dürfen nicht in Klassen liegen. Eine Möglichkeit ist es, die Callback-Funktion global zu machen und dieser einen Pointer zu der
    Instanz deiner Klasse mitzugeben.

    woher nehme ich am besten den pointer wenn ich den thread aus einer funktion in der klasse aufrufe könntest kleines bsp geben ?



  • Schonmal von this gehört? 😉



  • man benutz die Suchfunktion, sowas wurde hier schon diskutiert, als WebFritzi gerade mal 3 Tage angemeldet war.



  • Der Senf ist so alt, daß schon in der bibel drin steht wie das funzt.



  • roflé


Anmelden zum Antworten