код ошибки -1073741819 |
Здравствуйте, гость ( Вход | Регистрация )
код ошибки -1073741819 |
lanz |
4.2.2013, 16:08
Сообщение
#21
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
То же самое.
Здесь plot становится дочерним виджетом widget, потом удаляется deleteLater, потом второй раз удаляется при удалении widget (т.к. входит в иерархию QObject-ов) Надо удалить deleteLater. Напомнило анекдот "-Доктор, мне больно когда я вот-так делаю. -Не делайте так. Следующий!" |
|
|
demaker |
5.2.2013, 9:18
Сообщение
#22
|
Студент Группа: Участник Сообщений: 73 Регистрация: 29.1.2013 Пользователь №: 3691 Спасибо сказали: 0 раз(а) Репутация: 0 |
Согласен. Но также вылетает - 255 дает
Согласен. Но также вылетает - 255 дает Сделал так
но не помогает. |
|
|
demaker |
5.2.2013, 10:34
Сообщение
#23
|
Студент Группа: Участник Сообщений: 73 Регистрация: 29.1.2013 Пользователь №: 3691 Спасибо сказали: 0 раз(а) Репутация: 0 |
вот в этой функции, когда в дебаге отлаживаю зависает и не выходит хотя нет - но в дебаге работает нормально, а так не понимаю почему |
|
|
lanz |
5.2.2013, 12:05
Сообщение
#24
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Ага, а deleteLater остался в sl_deletePlot? Хотя не должно влиять там они и из листа удаляются.
Сообщение отредактировал lanz - 5.2.2013, 12:06 |
|
|
demaker |
5.2.2013, 12:14
Сообщение
#25
|
Студент Группа: Участник Сообщений: 73 Регистрация: 29.1.2013 Пользователь №: 3691 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ага, а deleteLater остался в sl_deletePlot? Хотя не должно влиять там они и из листа удаляются. В листе у нас вроде указатели на плоты, а не сами плоты. Может я ошибаюсь Поэтому мы по списку идем и удаляем. Правильно?
а в слоте, я удаляю тот, на который кликнули
|
|
|
lanz |
5.2.2013, 12:16
Сообщение
#26
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Мне не нравятся эти deleteLater в деструкторе.
Виджет разрушается уже после выхода приложения из основного цикла, поэтому делет лэйтер может не сработать, да и вообще хз как он работает в завершившемся приложении. Можно попробовать тупо закомментить его, посмотреть что будет, если ошибка пройдет значит в нем дело. |
|
|
demaker |
5.2.2013, 12:26
Сообщение
#27
|
Студент Группа: Участник Сообщений: 73 Регистрация: 29.1.2013 Пользователь №: 3691 Спасибо сказали: 0 раз(а) Репутация: 0 |
Мне не нравятся эти deleteLater в деструкторе. Виджет разрушается уже после выхода приложения из основного цикла, поэтому делет лэйтер может не сработать, да и вообще хз как он работает в завершившемся приложении. Можно попробовать тупо закомментить его, посмотреть что будет, если ошибка пройдет значит в нем дело. Закоментил
при двойном клике на item, плот не закрывается, и не вылетает. а когда виджет закрываю, то в консоле untitled.exe завершился с кодом -1073741819 Вся фигня, когда я добавляю графики с цифровым сигналом(digital) А с аналоговыми(analog) все нормально. |
|
|
lanz |
5.2.2013, 13:24
Сообщение
#28
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Не, не эти deleteLater .)
Вот эти
|
|
|
demaker |
5.2.2013, 13:41
Сообщение
#29
|
Студент Группа: Участник Сообщений: 73 Регистрация: 29.1.2013 Пользователь №: 3691 Спасибо сказали: 0 раз(а) Репутация: 0 |
Не, все так же
|
|
|
Алексей1153 |
5.2.2013, 13:48
Сообщение
#30
|
фрилансер Группа: Участник Сообщений: 2939 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
нужно:
1) решить, какой класс управляет данными в массиве (в частности - в мапе, в списке) 2) инкапсулировать массив в этот класс с доступом private 3) сделать методы Clear(), DeleteItem(), .... , AddItem(), FindItem(), ... 4) из конструктора класса вызвать Clear() и не мучать себя и остальных и, естественно, никаких deleteLater Сообщение отредактировал Алексей1153 - 5.2.2013, 13:50 |
|
|
Текстовая версия | Сейчас: 29.3.2024, 3:09 |