Je veux accéder à mon interface utilisateur de boîte de dialogue (zone d'édition) dans une fonction multithread qui est je définir la fonction globale ou indépendante. CSampleDlg* m_dlg=(CSampleDlg*)_param;
est ici _param est un paramètre de la fonction de thread. quand j'ai essayé ce son plantage ici: ASSERT(::IsWindow(m_hWnd));
Comment faire pour prendre un pointeur de classe de dialogue dans une fonction multithread MFC
// ici est un exemple de code mfc
UINT MessageThread(LPVOID _param)
{
CServerDlg* m_dlg=(CServerDlg*)_param;
char cChar[1024];
CString strmsg=L"";
while (!stopNow && (currValue < maxValue))
{
m_dlg->m_messagebox.GetWindowTextW(strmsg); //m_messagebox :editbox
sprintf(cChar,"%s",CW2A(strmsg));
char *buff=(char*)&cChar;
m_dlg->m_server.Send(buff,sizeof(cChar));
currValue++;
Sleep(50);
}
return TRUE;
}
Avez-vous déjà construit votre projet en mode 'Release'? ou Êtes-vous en mode 'Debug'? S'il vous plaît dites-moi ce qui s'est passé après la construction de votre projet en tant que 'Release'. – Bryant