Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

property in com


deplhi ©   (2006-07-14 11:26:00) 

задаю свойство в визарде библиотеки типов только для записи, на что он мне создает один единственный метод с приставкой set_, что впрочем логично. Меня интересует а само объявления поля самому нужно писать, если да, то где? Пробовал как в примерах, че то не срослось ((
Благодарю за любую помощь


isasa   (2006-07-19 12:24:00) [1]

deplhi   (14.07.06 12:43) [1]
?
Все равно, где-то, что-то не то делаешь. Возвращаемое значение HResult, в любом случае, если stdcall.

 Interface1 = interface(IDispatch)
...
   function Get_Property1(out Value: Integer): HResult; stdcall;
   function Set_Property1(Value: Integer): HResult; stdcall;
 end;


isasa   (2006-07-19 12:10:00) [2]

Tools -> Environment options -> Type Library -> Safe-Call function mapping

GanibalLector ©   (18.07.06 23:53) [3]
Only dual interfaces=ON

deplhi   (14.07.06 12:43) [1]
Do not map=ON

:)
Перед изменением, рекомендую сделать копию, а то суродует, не направишься потом.


GanibalLector   (2006-07-18 23:53:00) [3]

Странно...у меня,например,есть :

 IMyTest = interface(IDispatch)
   ['{023E7E1A-9DE1-4BA2-8560-0A82DCF3FC7E}']
   function Exec: Integer; safecall;
   procedure Disconnect; safecall;
   procedure Set_Port(Value: Integer); safecall;
  property Port: Integer write Set_Port;
 end;


Ты где смотришь??? Я в имя_TLB.pas


Ломброзо   (2006-07-14 12:53:00) [4]

у диспинтерфейса будут свойства


deplhi   (2006-07-14 12:43:00) [5]

т.е. почему создаются методы например:
 IMyInter = interface(IUnknown)
   ['{FD17B030-0F94-4F4E-A8CF-1580FB27F436}']
   function Get_amount: LongWord; stdcall;
   procedure Set_amount(Value: LongWord); stdcall;
 end;


а самого свойства типа
property amount: LongWord read Get_amount write set_amount

нету???


Наверх

Титульная страница Поиск, карта сайта Написать письмо