![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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
нету???