QTreeWidget повреждения кучи, внезапная остановка приложения |
Здравствуйте, гость ( Вход | Регистрация )
QTreeWidget повреждения кучи, внезапная остановка приложения |
Phoenix_nsk |
12.3.2011, 18:31
Сообщение
#1
|
Студент Группа: Участник Сообщений: 57 Регистрация: 12.3.2011 Пользователь №: 2491 Спасибо сказали: 0 раз(а) Репутация: 0 |
Есть объект типа иерархическое дерево (QTreeWidget).
При нажимании буквенных клавиш должен осуществляться переход на совпадающую ветку (по умолчанию). Этот момент мною никак не изменялся, поэтому очень сильно удивляет следующее: "ОС Windows имициировала точку останова в conf_dev.exe. Это может быть вызвано повреждением кучи и указывает на ошибку в conf_dev.exe или в одной из загруженных им DLL. Возможной причиной так же может быть нажатие пользователем клавиши F12, когда фокус принадлежит conf_dev.exe" Это происходит в debug на win7, release же вообще падает. Что ещё боле странно - на winXP всё работает нормально, т.е. переходит к нужному элементу. Клавиши стрелочки работают, исключение происходит только на буквенных. Debug после остановки открывает qregion.cpp и указывает на последнюю строчку в функции: Раскрывающийся текст
Qt 4.7.1 ------------------------------------------------------------------------------------------------------ Решил провести тест и написал простой код: Раскрывающийся текст
Скомпилированное под Qt Creator (4.7.0) работает как надо, т.е. при нажатии кнопок переходит на элемент Если его же скомпилировать из под вижака (2008), где Qt 4.7.1 - падает. Что это вообще такое, с чем связано? И безусловно самое важное - как обойти? |
|
|
Phoenix_nsk |
14.3.2011, 16:39
Сообщение
#2
|
Студент Группа: Участник Сообщений: 57 Регистрация: 12.3.2011 Пользователь №: 2491 Спасибо сказали: 0 раз(а) Репутация: 0 |
Мда, что-то на специализированом ресурсе не много желающих поразбираться в проблеме...
Собственно до чего я докопал... Проблема в сборке Qt, я его пересобираю по вот этой инструкции: Сборка Qt без зависимостей (MS Visual Studio) И на выходе получаю вроде бы как работающую сборку, но оказалось что нет. Плюсы сборки: можно собирать приложение (релиз) с ключом MT, тогда не нужно таскать с собой никаких dll, кроме Qt'шных, а так по умолчанию стоит MD и есть системы, в которых почему-то приложение не запускается, система пишет, что оно неверно сконфигурировано и поможет только переустановка. |
|
|
Текстовая версия | Сейчас: 28.12.2024, 10:17 |