Добрый день, я в COM новичок. Нужно на Builder сделать COM-объект, одним из методов которого будет например такой метод:
Method1(LPDISPATCH Arr);
От клиента будет приходить массив вариантов. Вопрос в том как мне их получить из Arr?
Здравствуйте, slan046, Вы писали:
S>Добрый день, я в COM новичок. Нужно на Builder сделать COM-объект, одним из методов которого будет например такой метод:
S>Method1(LPDISPATCH Arr);
S>От клиента будет приходить массив вариантов. Вопрос в том как мне их получить из Arr?
При таком определении метода массив вариантов прийти не может. LPDISPATCH Arr — этот аргумент содержит указатель на интерфейс/объект. Возможно, за этим объектом стоит массив вариантов, например, JScript массив. Тогда каждый элемент массива может быть запрошен у этого объекта. По номеру, по имени и т.п. Как у обычного объекта.
Здравствуйте, Vi2, Вы писали:
Vi2>При таком определении метода массив вариантов прийти не может. LPDISPATCH Arr — этот аргумент содержит указатель на интерфейс/объект. Возможно, за этим объектом стоит массив вариантов, например, JScript массив. Тогда каждый элемент массива может быть запрошен у этого объекта. По номеру, по имени и т.п. Как у обычного объекта.
Да просто в требованиям к COM-объекту написано так (про интересующий метод):
Подключить(МассивЗначений);
МассивЗначений — тип *IDispatch[IN], массив значений для настройки подключения.
ЕСли не так:
Method1(LPDISPATCH Arr);
Тогда может быть так?
Method1(LPSAFEARRAY Arr);