crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> 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'ами работает без проблем :blink:

Кто-нибудь знает, как ублажить Delphi?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.12.2009, 17:38
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Как вариант можеть нет extern "C"
#define DLLEXPORT extern "C" __declspec(dllexport)

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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+.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.11.2024, 4:06