При вызове диалога на Qt программа падает
Модератор: Модераторы
При вызове диалога на Qt программа падает
Продолжаю тестировать Lazarus. Использую Fedora 17, Lazarus 1.0.2. Все больше склоняюсь к мысли, что данный проект еще сырой. Возникла необходимость вызова Qt-диалога из Lazarus. Вызываю через LoadLibrary. Вызов QMessageBox отработал без замечаний. Но на первом же серьезном Qt-диалоге программа вылетела. Для сравнения собрал приложение на C++ и Qt. Вызов диалога прошел без замечаний.
Re: При вызове диалога на Qt программа падает
SergeiD писал(а):Возникла необходимость вызова Qt-диалога из Lazarus
Однако, вы знаете толк в извращениях... Вам не кажется, что подобное далеко за рамками проекта Lazarus, и скорее относится либо к неправильной передаче параметров, либо к каким-то багам компилятора freepascal; кроме того, в данном форуме несколько раз встречал упоминания о том, что попытка выноса в dll даже собственных форм лазаруса проблемна;
off: еще бы dll от .net пристыковали, это непрременно надо сделать, ибо во всей красе покажет, насколько сыр лазарус
Re: При вызове диалога на Qt программа падает
Ситуация - простая. Есть серьезный проект на Дельфи в виде пакета компонентов, в свое время его адаптировал для Kylix, который приказал долго жить. Надеялся, что Lazarus подойдет как замена.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Re: При вызове диалога на Qt программа падает
SergeiD
Оформите свой QT диалог в стиле C функции и будет всё нормально.
Объекты C++ и FPC не очень дружат.
PS
И это нормально, не является багой.
PPS
А зачем QT формы в LCL? на LCL можно красившее сделать.
Оформите свой QT диалог в стиле C функции и будет всё нормально.
Объекты C++ и FPC не очень дружат.
PS
И это нормально, не является багой.
PPS
А зачем QT формы в LCL? на LCL можно красившее сделать.
Re: При вызове диалога на Qt программа падает
Спасибо за совет. Собственно так и делаю - вызов диалога идет через функцию extern "C". По поводу Qt-диалогов - проект, который портирую под Lazarus так сделан. Очень много диалогов на Qt. Порылся по форуму, нашел вроде ссылку на сайт по применению qt. Там сказано, что в 2011 году адаптировали Lazarus под Qt 4.7 У меня в Fedora 17 версия Qt 4.8, может здесь ответ на вопрос?
Re: При вызове диалога на Qt программа падает
SergeiD
Не надо о вылетах писать здесь, пишите в багтрекер и прилагайте простые примеры для воспроизведения.
Не надо о вылетах писать здесь, пишите в багтрекер и прилагайте простые примеры для воспроизведения.
Re: При вызове диалога на Qt программа падает
Я серьезно занимаюсь с Lazarus первую неделю. Поэтому считаю, что мне рано еще давать определение вылету - ошибка это Lazarus или нет. На форуме я рассчитываю получить помощь. Возможно кто-то сталкивался с такой проблемой и успешно ее решал. Ваше предложение приму к сведению.
Re: При вызове диалога на Qt программа падает
Попоробовал с Lazarus 1.0.4, собрал из исходников libQt3Pas.so - тот же эффект. Перешел на Fedora 16, где Qt 4.8.0, собрал из исходников libQt4Pas.so - Qt-диалог вызывается без проблем. Возможно дело в версии Qt 4.8.3 и отсутствии ее адаптации под Lazarus.
Re: При вызове диалога на Qt программа падает
С примерами в багтрекер.
