Здравствуйте Corvin, Вы писали:
C>Вызываю в нити pWhatever->UpdateData(false), — выбрасывает с ошибкой доступа к памяти...
C>pWhatever — указатель на мой диалог, в котором была создана нить. Кто сталкивался, — допоможите, плз...
посмотри что делает UpdateData() в файле wincore.cpp:
/////////////////////////////////////////////////////////////////////////////
// 'dialog data' support
BOOL CWnd::UpdateData(BOOL bSaveAndValidate)
{
ASSERT(::IsWindow(m_hWnd)); // calling UpdateData before DoModal?
CDataExchange dx(this, bSaveAndValidate);
// prevent control notifications from being dispatched during UpdateData
_AFX_THREAD_STATE* pThreadState = AfxGetThreadState();
HWND hWndOldLockout = pThreadState->m_hLockoutNotifyWindow;
ASSERT(hWndOldLockout != m_hWnd); // must not recurse
pThreadState->m_hLockoutNotifyWindow = m_hWnd;
этот код предполагает что текущий thread это тот, в котором был создан диалог.
может быть Вашу проблему решит AFX_MANAGE_STATE( ::AfxGetStaticModuleState() );
но правильней будет послать user defined сообщение этому диалогу