Здравствуйте, -realex-, Вы писали:
R>Как предоставить через IDispatch метод с неизвестным количеством параметров, со значениями параметров по умолчанию?
Здравствуйте, -realex-, Вы писали:
R>Как предоставить через IDispatch метод с неизвестным количеством параметров, со значениями параметров по умолчанию?
В определении метода набивается масимально возможное количество параметров (например 10), для каждого параметра указывается атрибут defaultvalue или optional, если параметр VARIANT. Например [in, defaultvalue(0)] int Param.
R>Как предоставить через IDispatch метод с неизвестным количеством параметров, со значениями параметров по умолчанию?
Кому предоставить? Если, к примеру, тебе нужен метод для вызова из VBScript/JavaScript тогда сделай сам реализацию Invoke и твори там что хош — параметры интерпретируй как душе будет угодно.
Чем мотивируем свой минус? Посмотрите например как объявлены в Excel функции Min, Max, Count, Sum, Average, And, Or и т.п. с переменным числом параметров:
L>Кому предоставить? Если, к примеру, тебе нужен метод для вызова из VBScript/JavaScript тогда сделай сам реализацию Invoke и твори там что хош — параметры интерпретируй как душе будет угодно.
Да, я создаю NamedItem в ActiveScriptHost. Спасибо за ответы — сделаю, как в Excel. Не очень красиво, но работать должно.
Здравствуйте, -realex-, Вы писали:
R>Как предоставить через IDispatch метод с неизвестным количеством параметров, со значениями параметров по умолчанию?
Неизвестное количество параметров представляется атрибутом [vararg].
А значения по умолчанию для неизвестных параметров — это что-то новенькое и требует раскрытия или хотя бы примера для понимания.
Если метод принимает произвольное число параметров, то вызов "Method a,b,c" передаст именно эти три параметра и никаких других (ведь сколько именно нужно параметров неизвестно), а вызов "Method ,,c" передаст три параметра с пропущенными первыми двумя, и сервер может сам подставить необходимые умолчательные значения.
Здравствуйте, Vi2, Вы писали:
Vi2>Неизвестное количество параметров представляется атрибутом [vararg].
Можно поподробнее? (я пишу без MFC)
Vi2>А значения по умолчанию для неизвестных параметров — это что-то новенькое и требует раскрытия или хотя бы примера для понимания.
Уточнение: неизвестное количество параметров и значения по умолчанию — не одновременно, а в двух разных методах.
Здравствуйте, -realex-, Вы писали:
Vi2>>Неизвестное количество параметров представляется атрибутом [vararg]. R>Можно поподробнее? (я пишу без MFC)
Поиск здесь на сайте или в MSDN.
R>Уточнение: неизвестное количество параметров и значения по умолчанию — не одновременно, а в двух разных методах.
Неизвестное количество параметров — это атрибут [vararg] в описании метода, значения по умолчанию — атрибуты [optional] для VARIANT-ов и [defaultvalue] для остальных типов в описании параметра.