PDA

Просмотр полной версии : Потоки



Kolinus
08.11.2004, 13:27
Доброго времени суток.
Вопрос:
Есть SDI приложение.
По нажатию кнопки создаю поток, который ее обрабатывает.
Из функции потока делаю вызов AfxGetMainWnd().
Привожу результат к (CMainFrame*).
Вызываю GetActiveDocument().
Получаю эксепшн.
В чем проблема?
Может есть альтернативный способ для подобного случая.
Главная моя задача - получать уведомление о нажатых клавишах, внутри функции, которая выполняется при определенных обстоятельствах.

Acidy
09.11.2004, 09:12
Выливай свой кусок кода ... посмотрим что там. :o

Kolinus
09.11.2004, 15:38
Спасибо в принципе уже решил проблему =- причем самым неожиданным для себя способом.
Вместо GetActiveDocument() вызвал GetActiveView()->GetDocument() и вроде как все заработало.
Интересно однако в чем разница

Acidy
10.11.2004, 12:51
Да, но если эта CView-шка потеряет фокус, например, при переключении на какой-нить CDialogBar, то GetActiveView() и GetActiveDocument() будет возращать NULL и тогда "пиши пропало". Лучше объект класса, которому нужен указатель на CDocument снабжать его этим указателем где-то заранее...