Название: Программа падает, когда пытается явно загрузить DLL Отправлено: 46&two от Декабрь 20, 2004, 18:08 Имеется проект на QT3.0, компилируемый с использованием MinGW под винду. Программа явно (explicitly) загружает динамическую библиотеку с использованием класса QLibrary. DLL хранит класс DllClass, который является наследником QWidget.
Экспортируемая из DLL функция createDllClassInstance() создает экземпляр класса DllClass и возвращяет указатель на него. Код функции createDllClassInstance Код:
Хидер с объявлением класса и экспортируемой функции: Код:
Следующий код описывает, как программа загружает библиотеку и вызывает экспортируемую функцию. Код: QDir dir_p("."); Программа падает без единого сообщения об ошибке сразу по завершению этого кода. Однако, программа отлично работает, если DllClass не наследует QWidget или если createDllClassInstance не вызывает конструктор класса DllClass. В чем может быть проблема? Название: Программа падает, когда пытается явно загрузить DLL Отправлено: Admin от Декабрь 20, 2004, 18:44 а дебагером не пробовал это все проходить
может он что скажет явной ошибки я не нашел Название: Программа падает, когда пытается явно загрузить DLL Отправлено: 46&two от Декабрь 21, 2004, 09:11 Пробовал, разумеется :)
Но дебаггер в ответ запрос стека показывает следующее: Program recieved signal SIGSEGV, segmentation fault. in _libmcvsrt_a_iname () #0 in _libmcvsrt_a_iname () #1 ?? #2 in _libmcvsrt_a_iname () #3 in _libmcvsrt_a_iname () #4 in _libmcvsrt_a_iname () #5 in _libmcvsrt_a_iname () #6 in _libmcvsrt_a_iname () #7 in _libmcvsrt_a_iname () #8 in _libmcvsrt_a_iname () #9 in main at main.cpp:24 Название: Программа падает, когда пытается явно загрузить DLL Отправлено: Gorthaur от Ноябрь 23, 2005, 15:28 Я канешно понимаю, что тред уже старый но может кому пригодится решение этой проблемы...
Кажется если заменить Код:
в хидере, то вылетание проги может прекратится regards, Gorthaur. Название: Программа падает, когда пытается явно загрузить DLL Отправлено: Garrett от Ноябрь 24, 2005, 17:46 Гениально! :lol:
|