ВУЗ:
Составители:
Рубрика:
19
Добавим в этот же интерфейс метод -функцию GetSquare.
На закладке “ Parameters” укажем имя, тип и модификатор возвращаемого па -
раметра – p1, BSTR *, [out, retval].
Следует помнить :
• Для создания функции один из параметров должен быть объявлен как
ссылка (символ *, например, BSTR*) с модификатором [out, ret-
val]. Это и будет значением , возвращаемым функцией .
• Для создания параметра , передающегося по адресу , необходимо ука -
зать * и модификатор in .
• По значению параметр передается с модификатором in.
Текст сформированной нами библиотеки типов можно посмотреть , нажав кла -
вишу F12. В дальнейшем вызвать окно библиотеки типов можно , выбрав пункт
меню View – Type Library.
Если все было сделано правильно, то в библиотеке типов появится описание
дуального интерфейса , характерного для серверов автоматизации:
type ICalcSrv = interface(IDispatch)
['{80807261-88A2-11D7-941A-D22E27DF7904}']
function Get_value: WideString; safecall;
procedure Set_value(const value: WideString); safecall;
function GetSquare: WideString; safecall;
19
Д обав и м в этотж еи нтерфей сметод -функци ю GetSquare.
Н а з аклад ке “Parameters” укаж ем и мя, ти п и мод и фи каторв оз в ращ аемого па-
раметра – p1, BSTR *, [out, retval].
След уетпомни ть:
• Д лясоз д ани яфункци и од и н и з параметров д олж ен бы ть объяв лен как
ссы лка (си мв ол *, напри мер, BSTR*) смод и фи катором [out, ret-
val]. Э то и буд етз начени ем, в оз в ращ аемы м функци ей .
• Д лясоз д ани япараметра, перед аю щ егосяпо ад ресу, необход и мо ука-
з ать * и мод и фи каторin .
• По з начени ю параметрперед аетсясмод и фи катором in.
Т екст сформи ров анной нами би бли отеки ти пов мож но посмотреть, наж ав кла-
в и ш у F12. В д альней ш ем в ы з в ать окно би бли отеки ти пов мож но, в ы брав пункт
меню View –Type Library.
Е сли в се бы ло сд елано прав и льно, то в би бли отеке ти пов появ и тся опи сани е
д уального и нтерфей са, характерного д лясерверов ав томати з аци и :
type ICalcSrv = interface(IDispatch)
['{80807261-88A2-11D7-941A-D22E27DF7904}']
function Get_value: WideString; safecall;
procedure Set_value(const value: WideString); safecall;
function GetSquare: WideString; safecall;
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »
