Как подключить к проекту ActiveX-компонент?
От: Tristania  
Дата: 12.10.07 11:46
Оценка:
Господа, я только начал знакомится с использованием ActiveX и возник затык.
У меня есть зарегестрированный компонент написный на ВБ6.
Я хочу подключать его динамически (самое позднее связывание) и использовать его функционал.
С подключением вроде разобрался и сделал так:

HRESULT hr = CoInitialize(NULL);
if(FAILED(hr))
{
    MessageBox("It is impossible to initialize COM!", "Error!", 0);
    return;
}

CLSID cls77;
hr = CLSIDFromProgID(L"MyActiveX.AntItsClass", &cls77);
if(FAILED(hr))
{
    MessageBox("ActiveX object is not available. Try to re-install it", "Error!", 0);
    CoUninitialize();
    return;
}

IDispatch *pvObject;
hr = CoCreateInstance(cls77, NULL, CLSCTX_INPROC_SERVER, IID_IDispatch, (void**)&pvObject);
if(FAILED(hr) || !pvObject)
{
    MessageBox("It is impossible to initialize interface", "Error", 0);
    CoUninitialize();
    return;
}

// TODO: Paste your mega code for ActiveX using here

pvObject->Release();


Так вот, проблема в следующем: А как мне теперь использовать(вызывать) методы этого компонента? Как получить доступ к свойствам?

Заранее спасибо всем кто поможет....
Re: Как подключить к проекту ActiveX-компонент?
От: Tristania  
Дата: 14.10.07 09:18
Оценка:
Здравствуйте, Tristania, Вы писали:

T>Господа, я только начал знакомится с использованием ActiveX и возник затык.

T>У меня есть зарегестрированный компонент написный на ВБ6.
T>Я хочу подключать его динамически (самое позднее связывание) и использовать его функционал.
T>С подключением вроде разобрался и сделал так:

T>
T>HRESULT hr = CoInitialize(NULL);
T>if(FAILED(hr))
T>{
T>    MessageBox("It is impossible to initialize COM!", "Error!", 0);
T>    return;
T>}

T>CLSID cls77;
T>hr = CLSIDFromProgID(L"MyActiveX.AntItsClass", &cls77);
T>if(FAILED(hr))
T>{
T>    MessageBox("ActiveX object is not available. Try to re-install it", "Error!", 0);
T>    CoUninitialize();
T>    return;
T>}

T>IDispatch *pvObject;
T>hr = CoCreateInstance(cls77, NULL, CLSCTX_INPROC_SERVER, IID_IDispatch, (void**)&pvObject);
T>if(FAILED(hr) || !pvObject)
T>{
T>    MessageBox("It is impossible to initialize interface", "Error", 0);
T>    CoUninitialize();
T>    return;
T>}

T>// TODO: Paste your mega code for ActiveX using here

T>pvObject->Release();
T>


T>Так вот, проблема в следующем: А как мне теперь использовать(вызывать) методы этого компонента? Как получить доступ к свойствам?


T>Заранее спасибо всем кто поможет....


Все, господа, вопросе решен, ветку можно считть закрытой
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.