Форум: "Начинающим";
Текущий архив: 2012.02.26;
Скачать: [xml.tar.bz2];
ВнизБиблиотека типов (COM) Найти похожие ветки
← →
Scott Storch © (2011-11-16 17:47) [0]Как в библиотека типов (COM) для метода интерфейса добавить параметр с дефолтовым значением (необязательный).
На вкладке "Parameters" окна библиотеки типов делаю "Add" - добавляю параметр с именем "Mode", кликаю на столбце "Modifier", в отобразившемся окне "Parameter Flag" ставлю галочки для "In", "Has Defaul Value", указываю значение в поле "Default Value" = 1 В итоге после в TLB-файле оказывается:
IConnection = interface(IDispatch)
["{111B152D-8EA3-4AC2-A4B2-BAF79EFA2701}"]
function UpdateShop(UpdateMode: Integer): Integer; safecall;
end;
Что не так?
← →
Dimka Maslov © (2011-11-16 18:04) [1]Параметр со значением по умолчанию означает, что при вызове функции его можно не указывать, при этом компилятор должен сгенерировать код, передающий в функцию это самое значение по умолчанию.
← →
Scott Storch © (2011-11-16 18:12) [2]нифига не работает. когда вызываю метод из экземпляра ком-объекта, пишет, что нужно указать параметр, несмотря на то, что в библиотеке типов указано для него дефолтовое значение. не понятно, почему метод интерфейса генерится не
function UpdateShop(UpdateMode: Integer = 1): Integer; safecall;
а
function UpdateShop(UpdateMode: Integer): Integer; safecall;
← →
Dimka Maslov © (2011-11-16 18:19) [3]А может это не баг, а фича?
Кроме того, что мешает объявить такой же интерфейс, но с другим именем самому в другом месте программы, если уж очень надо?
← →
han_malign (2011-11-17 10:25) [4]Optional Optional parameter. The Parameter type must be VARIANT and all subsequent parameters must also be optional. Note that when you import a method with optional parameters, Delphi does not add default values to the interface. They are still optional, however, and when you call them you can pass EmptyParam rather than supplying a value.
Has Default Value
Indicates an optional parameter that has a default value. The Optional flag must also be set, and the default value specified in the Default value edit box. The specified value must be the same type as the parameter.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.02.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c