Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.12;
Скачать: CL | DM;

Вниз

Помогоите с OLE-Automation тип Object(VB) это VARIANT(IDL)???   Найти похожие ветки 

 
Галин Алексей   (2003-12-01 13:59) [0]

Мне нужно написать сервер OLE-Automation
В нём нужно создать метод, имеющий два параметра типа Object

Описане метода на Visual Basic выглядит так:

Public Sub RuleMethod(ByVal fieldsObj As Object, ByVal errorObj As Object)

Вот отрывок из хелпа:
"У проверяющего метода должно быть два аргумента типа Object..."

Вопрос - какой тип для параметров мне выбирать в редакторе библиотеки типов ( Object там нет) Может
VARIANT???

Очень благодарен за любую помощь в этом вопросе.
Галин А.М.


 
clickmaker ©   (2003-12-01 14:04) [1]

Вообще Object это просто указатель на объект, но поскольку это OLE, то можно IDispatch


 
Галин Алексей   (2003-12-01 15:38) [2]

Большое спасибо за ответ.
Дело сдвинулось до следующего затыка -
получение идентификатора метода с помощью
GetIDsOfNames() упаковка параметров в массив
OleVariant и вызов Invoke() со всеми этими параметрами

Разбираюсь дальше.


 
Ломброзо ©   (2003-12-01 17:34) [3]

Ну здрасьте. Project->New->ActiveX-> Automation Object
IDispatch в Automation object уже реализован, не мучайте Вы так себя!


 
Ломброзо ©   (2003-12-01 17:36) [4]

А вообще - Object в VB есть IDispatch* в IDL


 
Галин Алексей   (2003-12-02 11:54) [5]

Ещё раз рассыпаюсь благодарностсями за советы, спасшие меня от смерти

Приведённу выше проблему (получение идентификатора метода и так далее - см моё сообщение) решил следующим кодом:

STDMETHODIMP TGalin1Impl::Method4(LPDISPATCH Param1, LPDISPATCH Param2)
{
Variant v, v1;

try
{
v = Param1;
int i=-1;
i= v.Exec( Function ("GetFieldsCount"));
ShowMessage(i);

v.Exec(Procedure("SetFieldByIndex") <<1 << "www" );

v.Exec(Procedure("GetFieldByIndex") <<35 << &v1 );
ShowMessage(v1);

v = Unassigned;
v1 = Unassigned;
}
catch(Exception &e)
{
return Error(e.Message.c_str(), IID_IGalin1);
}
return S_OK;
}



Страницы: 1 вся ветка

Текущий архив: 2003.12.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
3-36566
Goida
2003-11-21 22:40
2003.12.12
Руссификация заголовков таблицы


7-36866
KIE
2003-10-06 12:19
2003.12.12
Как мне получить изображение с ...


9-36498
loto
2003-05-20 21:23
2003.12.12
(OpenGL) текстура и материал на разных гранях одного куба


3-36582
n13
2003-11-20 11:58
2003.12.12
dbf


3-36548
Stepa
2003-11-19 20:21
2003.12.12
проблемы с ADOQuery+SQL