Написан 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 контрол на 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 контролов не добовляет их.