ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »