![]() |
|
|
![]()
|
|
| Albor |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 7 Всего: 9 |
Как, собственно, можно определить вызывался ли метод Create для окна. Например, в некотором классе объявляется объект и имеется ф-ция, возвращающая указатель на него
А теперь где-то, где используется SomeClass
Теперь загвоздка: указатель будет ненулевой, поскольку память уже выделена, а Create() для m_rich, возможно, ещё не вызывалась. В такой ситуации использование указателя ни к чему хорошему не приведёт. Метод IsWindow() нельзя использовать по той же причине. |
||||
|
|||||
| Albor |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: 7 Всего: 9 |
Всё таки проверить можно через hWnd окна. В моём случае произошёл вот какой казус: Вызов ((CMyView *)GetActiveView())->GetRich() возвращал ненулевое значение, причём GetActiveView() возвращал ноль. На этой строке программа не стопорилась и я не сразу понял в чём дело. Полученный указатель, естественно, указывал неизвестно куда и параметр m_hWnd вообще не определялся дебаггером как существующий. Приведение типа к CMyView * сыграло злую шутку.
Это сообщение отредактировал(а) Albor - 31.10.2010, 18:47 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |