![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
_AK_ |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 9.12.2009 Пользователь №: 1291 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Задача: создать на QT (4.6) ActiveX и использовать его в Borland Delphi 7.
Решение: наследовал класс от QWidget и QAxBindable, скомпиллировал, зарегистрировал. В IE7 все работает отлично. Инсталлировал ActiveX в Delphi (TLB создалась, на палитре компонентов появилась иконка). Проблема: Кладу контрол на форму - вместо моей формочки ActiveX зеленый прямоугольник. Компилирую в Delphi проект и запускаю - контрола на форме не видно и на клики мышкой он не реагирует, но как Automation server работает. Вопрос: понимаю, что косяк м.б. в Delphi, но оно же с другими ActiveX'ами работает без проблем ![]() Кто-нибудь знает, как ублажить Delphi? |
|
|
![]() |
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Как вариант можеть нет extern "C"
|
|
|
kuler |
![]()
Сообщение
#3
|
![]() Танцор диско ![]() ![]() ![]() Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: ![]() ![]() ![]() |
дык там должна быть dll дизайн-тайм, во всяком случае когда пишутся компоненты на самом билдере для него она есть. Она и определяет то как выглядит и работает элемент в дизайнере.
|
|
|
_AK_ |
![]()
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 9.12.2009 Пользователь №: 1291 Спасибо сказали: 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.6.2025, 4:26 |