Re: Как создавать методы с необязательными параметрами
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.06.02 14:07
Оценка: 6 (1)
Здравствуйте tamtam, Вы писали:

T>Очень часто видел такие медоды, например в ADO

T>А как самому такие сделать в COM что-то не догоняю...
T>Помогите.

Если параметр имеет тип VARIANT, то помечаешь его атрибутом optional.
Если другой, помечаешь его атрибутом defaultvalue(Значение). Где "Значение" — это значение которое будет подставляться по умолчанию.

При этом есть два ограничения. Не обязательные параметры дожны идти в конце (т.е. с правой стороны) списка параметров (но перед [out, retval]).

Значения по умолчанию будут доступны только в высокоуровневых языках/визуальных средах (типа VB). В VC можно воспользоваться директивой #import, которая (по умолчанию) создает обертки над COM-интерфейсами обеспечивающие такую функциональность.

Вот пример idl-я:

HRESULT SomeMethod([in], NormalParam, [in, optional] VARIANT OptionalParam, [in, defaultvalue(-1)] long DefValParam, [out, retval] long *pRet);


PS

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