2008-10-22 2 views
1

Исходя из этого вопроса hereКак передать параметры объекта в события ActiveX для сценария

У меня есть пользовательский элемент управления ActiveX, который создает событие «BeforePageValidated», который имеет параметр «арг», который является объектом, который содержит логическое значение. Цель этого заключается в том, чтобы позволить клиенту переопределить проверку и заставить ее сбой, установив для булевского значения значение true.

я могу поймать событие в IE, используя следующие

<script for="objInterviewNOW" event="BeforePageValidated(args)"> 

Однако я не могу получить доступ к свойству арга объекта.

Как я должен это делать?

ответ

1

Проделал это для себя.

Проблема заключалась в том, что событие передавалось из другой dll, используемой элементом управления activeX, и именно здесь был объявлен класс args.

Исправлено, создав копию класса args в объекте activeX и используя это при поднятии события.

К сожалению, это означает, что класс args дублируется, так что, возможно, кто-то знает лучший способ?

0

args также необходимо зарегистрировать как объект com.

[ComVisible(true)] 
[GuidAttribute("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")] 
public class args 
{ 

} 

Надеюсь, это поможет.