MVS 2008 и SDI приложение

Вопросы по программированию, не подходящие в другие разделы.

Модераторы: Naeel Maqsudov, C_O_D_E

Ответить
Albor
Сообщения: 491
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

Вот с чем столкнулся в новой студии: SDI проект с классом представления унаследованным от CFormView. Размещаю на панели диалога контрол, любой, пусть будет статик. Связываю с ним переменную (m_static). После чего, программно пытаюсь изменить текст данного статика: m_static.SetWindowText("new text");, но, при выполнении, возникает исключение. Проверяю причину: перед изменением текста вызывается функция ::IsWindow(m_hWnd), где m_hWnd равно нулю, как я понимаю, раз хендл дочернего окна равен 0, значит окна нет, но на панели статик изначально отображён, следовательно окно есть. Обхожу механизм DDX и обращаюсь к контролу напрямую: GetDlgItem(IDC_STATIC_ST)->SetWindowText("new text"); - всё в порядке, работает как надо. Проверил данный момент в VS 6 - там, без проблем, всё работает и через DDX. Данный момент касается всех контролов, во всяком случае, я проверил на кнопках и на статиках со стилем картинки. Кто может прокоментировать? Это глюк студии, так задумано или нужно что-то настроить в проекте?
dr15
Сообщения: 1
Зарегистрирован: 12 авг 2008, 21:49

Когда-то сталкивался с подобным глюком в MVC 2005. Не помню как решил эту проблему. Попробуй скомпилировать не как Debug, а как Release. Вдруг будет чудо??? :D :D :D
Ответить