LINUX.ORG.RU

QT: error in off-topic MSVS-2005


0

0

привет всем. prog.org.ru сейчас в дауне. по-этому рискну задать этот вопрос на ЛОРе. изучаю Qt. проинтегрировал qt4.2.2 в msvs2005. с такой странной ошибкой встречаюсь первый раз. пишу:
[code]
void ftpLoader::on_ftpDownloadButton_clicked(){
ftp.connectToHost("ftp.narod.ru");
ftp.login();
ftp.close();
}
[/code]
компилируется, во время выполнения нажимаю на ftpDownloadButton. потом нажимаю "крестик" (закрыть прогу) и вылетает такое сообщение(окошко):

<Microsoft Visual C++ Debug Library>
Program: .... path/to/program/qftp_example.exe
File: dbgheap.c
Line: 1132
Expression: _CrtIsValidHeapPointer(pUserData)
(Press Retry to debug the application)

[Abort] [Retry] [Ignore]

Подскажите, как побороть?

anonymous
Ответ на: комментарий от Reset

по сути в программе больше ничего и нету :) я отдельно создал приложение с такой функциональностью как написал, в этом и самый злой прикол. в основной программе (которая более 2k строчек) ошибок нет естессно :)

может быть есть ещё какие-то мысли?

anonymous
()
Ответ на: комментарий от anonymous

у меня у самого появилась идея ... смотри, когда я вызываю метод QFtp::connectToHost(), наверное есть какой-то период ожидания таймаута. возможно я просто некорректно прерываю работу connetcToHost? сейчас попробую какого-нить спайдера написать, чтобы следить за процессом. вроде даже какой-то пример в доке есть.

НО ВСЕ ЖЕ: может у кого-то есть ещё какие-то предложения? с таким багом встречаюсь первый раз.

anonymous
()
Ответ на: комментарий от anonymous

Ну еще может быть несоответствие сборок. Qt-debug надо линковать с debug профилем в студии, Qt-release соответственно с release профилем иначе разные приколы могут возникать при работе с памятью.

Reset ★★★★★
()
Ответ на: комментарий от Reset

у меня только release-"профиль". и программа компилится в релизе всегда.

anonymous
()

в дополнение: программа не вылетает, работает корректно. такой мессаг только по закрытии. в блоке, в котором выполняется работа с фтп, после ftp.close() программа продолжает работать так же корректно. ОШИБКА ПО ЗАКРЫТИЮ. в чем же прикол?

anonymous
()
Ответ на: комментарий от anonymous

Ну собери Qt-debug, собери прогу в debug, запусти в дебагере и посмотри чего получится.

Reset ★★★★★
()
Ответ на: комментарий от anonymous

спасибо за ссылку, но это смешно только, когд у кого-то на башорг :) а не в твоей программе.

anonymous
()
Ответ на: комментарий от anonymous

А ты при создании объектов родителя им даёшь ввиде QObject ? Просто вроде как он должен всех child прибить при своём уничтожении. Не вписал ли ты где деструктор?

SergikXP
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.