Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > не запускается приложение, а ошибок нет |
Автор: Lenkov 28.4.2009, 11:06 |
Не могу выстроить дерево на вкладке (TabConrol), программа глохнет на InsertItem(.....). Кажется проблема в обемене данными между классами, но могу ошибаться. Пожалуйста подсткажите в чем хоть дело! |
Автор: Earnest 29.4.2009, 06:55 |
Глохнет - это что значит? Ты бы привел локальный кусок кода, ковыряться в твоих проектах нет ни времени, ни желания... Само-то дерево у тебя появляется? |
Автор: Lenkov 29.4.2009, 22:07 |
Изначально, проект был без вкладок и дерево строилось (все отлично работало), а потом добавил вкладки и вот там уже не строиться! Глохнет - это что значит? - компилируется нормально, т.е. ошибок 0, а именно на добавлении (InsertItem(.....)) появляется ошибка: Line: не помню, Библиотека: не помню и три варианта ответа: прервать, исправить и что то еще. |
Автор: Andrey44 30.4.2009, 07:18 |
Lenkov, покажи кусок кода как добавляешь айтемы. |
Автор: Lenkov 30.4.2009, 07:31 |
я выложил немного не ту папку! извините.... новый вариант именно с той проблемой: |
Автор: Lenkov 30.4.2009, 10:18 |
Ведь hWnd не должен быть равен 0 ?! во время выполнения строчки htRoot = m_tree.InsertItem( sqqq, TVI_ROOT, TVI_LAST); |
Автор: Lenkov 30.4.2009, 11:04 |
Хорошо! Почему он тогда равен 0! Что я не так сделал! |
Автор: Andrey44 30.4.2009, 11:55 |
Делай проверку если HWND!=0 тогда что-то делай. |
Автор: Lenkov 30.4.2009, 13:56 | ||
Я считаю, не надо никакой проверки, надо определить из - за чего 0. А может вообще не из - за этого?! |
Автор: Earnest 4.5.2009, 09:11 |
Полноценное окно должно иметь валидный hWnd. Скорее всего, ты обращаешься к функциям окна до его создания. Это типичная ошибка новичков - путать C++ объект и WIN окно. |
Автор: Lenkov 4.5.2009, 14:43 | ||
Причина была следующая: Т.к. диалоговое окно еще не закрыто и значение функции m_tree не инициализировано, поэтому записывать m_tree.InsertItem( sqqq, TVI_ROOT, TVI_LAST) нельзя! Правильно:
|