Methode als Thread ausführen



  • grüß gott,

    ich versuche gerade eine methode einer klasse in einem eigenen thread laufen zu lassen, aber kriegs irgenedwie net hin.
    hier der code:

    hThread = CreateThread(NULL, 0, Instance->Start, NULL, 0, &ThreadID);

    hier das compilerrumgmecker:

    error: argument of type 'DWORD (Counter::)(void*)' does not match 'DWORD ()(void)'

    geht das überhaupt was ich vorhabe?

    vielen dank



  • der 3. Paramter ist falsch gefüllt...
    z.B:

    .
    .
    .
    
    DWORD WINAPI ThreadFunc (LPVOID data)
    {
        Instance->Start ();
    
        return ((DWORD)data);
    }
    
    .
    .
    .
    
    hThread = CreateThread(NULL, 0, ThreadFunc, NULL, 0, &ThreadID);
    
    .
    .
    .
    


  • Soweit ich noch weiss, gabs da irgendwo Probleme. Allerdings funktionierts, wenn du eine Funktion machst, die nur die Klassenfunktion aufruft, und dann diese Funktion an CreateThread übergibst.


Anmelden zum Antworten