QT ActiveX не виден в Delphi, ActiveX работает в Delphi только как Automation, а на форме не виден |
Здравствуйте, гость ( Вход | Регистрация )
QT ActiveX не виден в Delphi, ActiveX работает в Delphi только как Automation, а на форме не виден |
_AK_ |
9.12.2009, 10:25
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 9.12.2009 Пользователь №: 1291 Спасибо сказали: 0 раз(а) Репутация: 0 |
Задача: создать на QT (4.6) ActiveX и использовать его в Borland Delphi 7.
Решение: наследовал класс от QWidget и QAxBindable, скомпиллировал, зарегистрировал. В IE7 все работает отлично. Инсталлировал ActiveX в Delphi (TLB создалась, на палитре компонентов появилась иконка). Проблема: Кладу контрол на форму - вместо моей формочки ActiveX зеленый прямоугольник. Компилирую в Delphi проект и запускаю - контрола на форме не видно и на клики мышкой он не реагирует, но как Automation server работает. Вопрос: понимаю, что косяк м.б. в Delphi, но оно же с другими ActiveX'ами работает без проблем Кто-нибудь знает, как ублажить Delphi? |
|
|
ViGOur |
9.12.2009, 17:38
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Как вариант можеть нет extern "C"
|
|
|
kuler |
9.12.2009, 18:33
Сообщение
#3
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
дык там должна быть dll дизайн-тайм, во всяком случае когда пишутся компоненты на самом билдере для него она есть. Она и определяет то как выглядит и работает элемент в дизайнере.
|
|
|
_AK_ |
10.12.2009, 15:28
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 9.12.2009 Пользователь №: 1291 Спасибо сказали: 0 раз(а) Репутация: 0 |
Про "extern C". А где это должно быть? Простите, я не гуру QT.
Про "dll дизайн-тайм". Что это за dll? ActiveX в design-time ведет себя странно: на форме ActiveX лежит QLabel и QPushButton. Лейбл не виден, а кнопка видна и обрабатывает корректно нажатие (по нажатию должен выводиться MsgBox - он выводится). А в run-time невидны и лейб, и кнопка. Клики по тому месту, где кнопка была, не имеют результата. При этом в IE7, MSWord, ActiveX Control Test Container и 1Сv8.1 все работает на 5+. |
|
|
Текстовая версия | Сейчас: 23.11.2024, 6:55 |