Событие ActiveX контрола в HTML
От: Аноним  
Дата: 13.10.05 10:25
Оценка:
Написан ActiveX контрол на ATL. Никак не могу подключиться к событию AсtiveX контрола на веб странице. Делаю примерно так:
<HTML>
<HEAD>
<TITLE>ATL 3.0 test page for object MyControl</TITLE>
</HEAD>
<BODY>
<SCRIPT language="JavaScript" for="MyControl" event="MoveOn(result, detail)">
    window.alert("Result: " + result + "\nDetail: " + detail);
</SCRIPT>
<OBJECT ID="MyControl" codebase="MyControl.cab" CLASSID="CLSID:XXXXXXXX-ACF7-440F-97A0-B3F29AC50030">
<H2>Control Not Loaded</H2>
</OBJECT>
</BODY>
</HTML>

Перепробовал кучу способов, ничего не работает. В то же время в VB событие отрабатывает на ура. Смутно подозреваю, что проблема в наличии параметров у события. Они описаны как BSTR. Что я делаю не так?
Под отладчиком вижу, что вызывается Fire_MoveOn, но внутри Fire_MoveOn количество connections равно нулю и ничего не вызывается.
Событие ActiveX контрола в HTML
От: AndrewJD США  
Дата: 13.10.05 12:45
Оценка: 23 (3)
#Имя: FAQ.com.event_in_html
Здравствуйте, Аноним, Вы писали:

А>Написан ActiveX контрол на ATL. Никак не могу подключиться к событию AсtiveX контрола на веб странице. Делаю примерно так:

А>
А><HTML>
А><HEAD>
А><TITLE>ATL 3.0 test page for object MyControl</TITLE>
А></HEAD>
А><BODY>
А><SCRIPT language="JavaScript" for="MyControl" event="MoveOn(result, detail)">
А>    window.alert("Result: " + result + "\nDetail: " + detail);
А></SCRIPT>
А><OBJECT ID="MyControl" codebase="MyControl.cab" CLASSID="CLSID:XXXXXXXX-ACF7-440F-97A0-B3F29AC50030">
А><H2>Control Not Loaded</H2>
А></OBJECT>
А></BODY>
А></HTML>
А>

А>Перепробовал кучу способов, ничего не работает. В то же время в VB событие отрабатывает на ура.

Скрипт похож на правду.

Ты в своем контроле реализуешь интерфейсы IProvideClassInfo и IProvideClassInfo2 ? По умолчанию Wizard для light контролов не добовляет их.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[2]: Событие ActiveX контрола в HTML
От: Аноним  
Дата: 13.10.05 13:23
Оценка:
Здравствуйте, AndrewJD, Вы писали:

AJD>Ты в своем контроле реализуешь интерфейсы IProvideClassInfo и IProvideClassInfo2 ? По умолчанию Wizard для light контролов не добовляет их.


Спасибо!!! Добавил реализацию интерфейсов и все заработало. Действительно это был light контрол.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.