обработка событий COM
От: rukin  
Дата: 19.07.06 08:50
Оценка:
привет!

Создал в VC 2005 ATL ActiveX control.

Создал метод Start().
В нем бросаю событие OnStart.

Создал тестовый проект на C#.
В нем добавил референс на созданный контрол.

using System;
using System.Windows.Forms;

namespace Test
{
static class Program
{
static MyControlLib.CMyControlClass obj = new MyControlLib.CMyControlClass();

/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
obj.OnStart += new MyControlLib._IMyControlEvents_OnStartEventHandler(obj_OnStart);

obj.Start();
}

static void obj_OnStart()
{
MessageBox.Show("OnStart()");
}
}
}


все замечательно работает.


Но в скрипте (vbs или javascript в html) это не пашет.

Вот сам скрипт (test.vbs):

Dim o
Set o = CreateObject("MyControlLib.MyControl")

o.Start
o.Start
o.Start
o.Start

sub o_OnStart()
msgbox "wew"
end sub

т.е. из скриптового языка подписка на событие не происходит

куда копать?



Спасибо!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: обработка событий COM
От: Константин Л.  
Дата: 19.07.06 09:16
Оценка:
Здравствуйте, rukin, Вы писали:


R>куда копать?

R>Спасибо!

в сторону тега object, script и атрибута тега script — event.
Re: обработка событий COM
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 19.07.06 09:21
Оценка: +1
Здравствуйте, rukin, Вы писали:

R> Но в скрипте (vbs или javascript в html) это не пашет.


http://rsdn.ru/?article/com/eventsinscript.xml
Автор(ы): Алексей Кирюшкин, Andrew Merkushev
Дата: 29.12.2004
Как получать COM-бытия в скриптах
... << RSDN@Home 1.2.0 alpha rev. 654>>
Re: обработка событий COM
От: algol Россия about:blank
Дата: 19.07.06 10:19
Оценка: 1 (1) +1
Здравствуйте, rukin, Вы писали:

R> Создал в VC 2005 ATL ActiveX control.

R> Но в скрипте (vbs или javascript в html) это не пашет.
R>т.е. из скриптового языка подписка на событие не происходит

Событие ActiveX контрола в HTML
Автор: AndrewJD
Дата: 13.10.05
Re: обработка событий COM
От: rukin  
Дата: 20.07.06 07:04
Оценка:
Всем спасибо!

В компоненте не были реализованы ProvideClassInfo и IProvideClassInfo2!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.