Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Multithreading & Cview*

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.01.2003, 15:50 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Ich habe folgendes Problem. Hab ein Multithreading Programm. Bekomm im Debug Modus immer einen Assert. Ist zwar net so schlimm, er störrt aber.

C++:

UINT SizeCheckThreadProc(LPVOID pParam)
{  ...
   CMainFrame *pMain = (CMainFrame*)AfxGetApp()->m_pMainWnd;

   pMain->GetLogView()->GetListCtrl().DeleteAllItems();
}


Komme dann zu folgenden Assert

C++:
void CWnd::AssertValid() const
{    
          ...
}


Dort werde ich Afgefordert, das Fensterhandle per HWND zu übergeben, aber des funtzt net ganz.
Zwar hab ich jetzt in der SizeCheckThreadProc(LPVOID pParam) den pParam, dem bei Threadstart folgendes übergeben wird:

C++:

AfxBeginThread(SizeCheckThreadProc, GetSafeHwnd(),
THREAD_PRIORITY_NORMAL);



Nur wenn ich jetzt

C++:
  
CWnd *pWnd = NULL;
pWnd->GetFromHandel((HWND) pParam);


schreibe, kennt er natürlich meinen LogView nicht.
Was muss ich in SizeCheckThreadProc reinschreiben, damit ich auf meine Liste zuugreifen kann? Oder Wie kann ich das HWND mitübergeben?
Danke im voraus!!

mfg mike
PS: Es Handelt sich um ein Splitt Window. Mit CMainFrame::GetLogView bekomme ich einen CView* Pointer.
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.01.2003, 19:09 Uhr
mike
Pinguinhüpfer
(Operator)


Hat sich erledigt!!
mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: