Название: QT 4.2.2 Глюки программы при вызове connect Отправлено: evilguard от Февраль 12, 2007, 21:30 http://qtprojects.narod.ru/test.rar (50кб)
Выложил тестовую пустую программку, потому что описать ошибки здесь трудно, пожалуйста помогите. В ней два класса, потомки QObject, абсолютно одинаковые, различаются только именем класса, в них объявлен одноименный сигнал, sos(int), в прочем там все есть. Конструктор для QMainWindow: Код:
Вышеописанные классы - MGrid И MPoints. Абсолютно одинаковые. При задании в качестве параметра в функции connect объекта points - вылезает одна ошибка на стадии выполнении программы - "Unhandled exception at 0x0012ffe0 ...", а при задании объекта grid - другая: ""A buffer overrun has occured in test.exe which has corrupted the program's internal state". Но классы ведь одинаковые??! Ошибку не вижу в упор, вот листинги классов MGrid и MPoints: Код:
Код:
Впрочем все это есть в проекте, пожалуйста помогите, скачацте - попробуйте откомпилировать, проект - MSVC2005. Заранее очень благодарен!!! Название: QT 4.2.2 Глюки программы при вызове connect Отправлено: Mixolap от Февраль 12, 2007, 23:47 Проинициализируй указатели:
MGrid *grid = new MGrid; MPoints *points = new MPoints; а потом уже connect все остальное и про delete затем не забуть. Название: QT 4.2.2 Глюки программы при вызове connect Отправлено: evilguard от Февраль 13, 2007, 00:13 ааааааааа, вот балбес! Забыл, спасибо!
Дело в том что у меня в программе в этом классе идет долгий расчет, я хотел чтобы он посылал сигнал в полосу прогресса, чтобы было видно ход расчета. А расчет вызывался сразу при вызове конструктора, поэтому и connect приходилось объявлять до вызова конструктора, чтобы ход процесса отобажался. Придется выносить расчет в отдельную функцию ы выполнять ее после вызова connect. Спасибо! |