powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Хелп! помогите победить ActiveX
2 сообщений из 2, страница 1 из 1
Хелп! помогите победить ActiveX
    #34010689
snml
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужна помощь по Event'ам в ActiveX, кто знает, помогите разобраться.

Хочу разработать ActiveX Control на Visual C++ 2005
использую ATL (MFC не предлагать)
юзать буду в IE в качестве элемента управления

хочу чтобы мой ActiveX посылал контейнеру (т.е. IE) Event'ы, а эти Event'ы должны быть перехвачены javascript (или Jscript)

Как это правильно сделать?
MSDN смотрел - ниче не нашел, для .NET правда есть пример

Я пробовал сделать так:
Создавал в интерфейсе свойства Open1 и Open2:

Код: plaintext
1.
2.
3.
4.
5.
interface IVideoPlayer : IDispatch{
    [id( 1 ), helpstring("method OpenVideoFile"), source] HRESULT OpenVideoFile([in] BSTR bstrVideoFileName);
    [propget, id( 2 ), helpstring("property Open"), source] HRESULT Open1([out, retval] BYTE* pVal);
    [propget, id( 3 ), helpstring("property Open2"), bindable, displaybind, immediatebind, source] HRESULT Open2([out, retval] BYTE* pVal);
};

В обработчике OpenVideoFile вызываю FireOnChanged:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
STDMETHODIMP CVideoPlayer::OpenVideoFile(BSTR bstrVideoFileName)
{
    // на всякий пожарный все три  :D
    FireOnChanged( 1 );
    FireOnChanged( 2 );
    FireOnChanged( 3 );

    return S_OK;
}

при этом в ActiveX Control Test Container регистрирутся события:

Код: plaintext
1.
2.
VideoPlayer Class: Property Change: Open1
VideoPlayer Class: Property Change: Open2

т.е. вроде бы события посылаются (или нет?)

но ни в javascript'е, ни в Jscript'е событий нет

кто подскажет, что я делаю не так?
или линк хотя бы где можно посмотреть
...
Рейтинг: 0 / 0
Хелп! помогите победить ActiveX
    #34014249
--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Visual Studio есть ATL simply object wizard. Он генерит код с поддержкой connection point. это то что Вам нужно, для примера. ActiveX wizard скорее всего делат то же самое.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Хелп! помогите победить ActiveX
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]