000
01.02.2006, 15:56 Uhr
Wiesenlieger
|
Hallo Jungs und Mädels,
eine Frage: wie kann ich aus einem Thread, gestartet mit:
C++: |
m_SearchThread = AfxBeginThread(SearchThreadFunc, &m_Search);
|
und global:
C++: |
UINT SearchThreadFunc(LPVOID pParam) { // Argument in einen Zeiger auf das Suchobjekt // für diesen Thread konvertieren SearchMaster* lpSearch = (SearchMaster*)pParam;
// suchen lpSearch->SearchObjects();
return 0; }
|
Nachrichten an den Dialog schicken, der ihn gestartet hat?
Habe es so versucht: bevor der Thread gestartet wird, ein Handle auf den Dialog setzen:
C++: |
m_Search.Init(this->m_hWnd);
|
...und wollte mit:
C++: |
PostMessage(m_parentWnd, WM_MYCOMMAND, (WPARAM)WMU_FERTSCH, (LPARAM)numObj);
|
eine Nachricht schicken. Das Problem ist, das DialogHandle ist NULL ! Warum? Gibt es einen anderen/besseren Weg?
Zur Erklärung: Der aufrufende Dialog wird aus einer MDI-Umgebung heraus erzeugt (von CDocument). Der Workerthread steckt in einer statischen Bibliothek (lib). |