thread funktionen deklarieren?!?
-
Hallo,
schon wieder ne frage,
ich hab ein beispiel programm zu threads usw. runtergeladen,void CDlgBeepThreadDlg::OnBtnStart() { m_pThread = AfxBeginThread(thrFunc_3, m_hWnd); } UINT thrFunc_3(LPVOID pParam) { int zahl; zahl = 1; HWND hWnd = (HWND)pParam; while(g_bCont) { zahl = zahl +1; SendMessage(hWnd, U_WM_BEEP, zahl, 0); Sleep(1000); } return 0; }
das ist der auzug aus dem .cpp file.
was ich jetzt nicht verstehe: wo wird die thrFunc_3 declariert?
im code steht kein nichtUINT CThreadBsp::thrFunc_3(LPVOID pParam) {....}
wie macht man denn sowas?
danke schon mal
Harald
-
ok, ich kanns selbst beantworten,
man kann das einfach so machen
was aber wichtig ist, wenn man die thread funktion nicht im header definiert, dann muss diese funktion im quellcodeUINT thrFunc_5(LPVOID pParam) { HWND hWnd = (HWND)pParam; while(g_bCont) { SendMessage(hWnd, U_WM_BEEP, 0, 0); Sleep(1000); } return 0; }
UNBEDINGT vor dem aufruf des threads kommen:
void CTest2Dlg::OnButton1() { // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen g_bCont = TRUE; m_pThread = AfxBeginThread(thrFunc_5, m_hWnd); }
dann ist alles cool!!!