Re[7]: Основной MDIFrame в отдельном потоке
От: AstroMan  
Дата: 09.09.08 13:31
Оценка:
Здравствуйте, TatarDozor, Вы писали:

TD>//в этой функции я создаю дополнительный фрейм

TD>BOOL CPreviewApp::InitInstance()
TD>{
TD> CPreviewFrame *pPF = new CPreviewFrame();
TD> m_pMainWnd = pPF;
TD> //загрузка фрейма из ресурсов
TD> BOOL b = pPF->LoadFrame(IDR_PREVIEWFRAME);
TD>}

TD>//Так вот, если в CMainFrame открыт хотя бы один документ, то pPF->LoadFrame(IDR_PREVIEWFRAME) выдает ошибку!!

TD>[/code]

TD>В чем может быть дело?


TD>А если в CMainFrame не открыт не один документ, то pPF->LoadFrame(IDR_PREVIEWFRAME) прекрасно срабатывает!!


LoadFrame в основном зовет Create и посылает WM_INITIALUPDATE дочерним окнам.
Ничего зацепляющего другой фрейм там вроде нет.
Может в коде CPreviewFrame где-то явно зацепляется AfxGetApp()->... (в OnCreate, например).
С моим кодом отличие в том, что я не вызываю LoadFrame, а просто CMDIFrameWnd::Create.

Что в стеке-то при вываливании assert'a? Кто зовет CDocument::AssertValid() и в котором потоке?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.