|
Индексированные свойства в OLE объектах
|
|||
---|---|---|---|
#18+
Приветствую, коллеги! Подскажите пожалуйста, верно ли я понимаю, что тип свойства "Read | Write | Write By Ref" должен позволять настроить индексированное свойство а-ля TString.Items[] ? Когда добавляется свойство такого вида, в дизайнере появляется сразу 3 свойства: "Read Only", "Write Only", "Read | Write", но с имплементацией какая-то беда. По идее для того же Items[] нужно сделать как-то так: read property: Index: long [in] Value: BSTR* [out,retval] write property: Index: long [in] Value: BSTR* [in] read/write property: Index: long [in] Value: BSTR* [in,out] Но когда в дизайнере настраиваешь write property она дублирует свои настройки на read/write и наоборот. Как-то так. Вот и вопрос: а можно ли вообще добиться индексированного свойства в делфовом OLE объекте, или тип "Read | Write | Write By Ref" предназначен для чего-то иного? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 12:23 |
|
Индексированные свойства в OLE объектах
|
|||
---|---|---|---|
#18+
Я делфевый редактор давно запросил, потому какие кнопки нажимать не скажу. В idl должно получится так Код: plaintext 1. 2. 3. 4.
Тип первого параметра может быть любым. По нему и будет индекс. Более того, этих параметров может быть несколько, тогда индекс будет составной. В _TLB.pas получатся такие строки Код: pascal 1. 2. 3.
И в реализации нужно будет реализовать два метода Get_Items и Set_Items. Чтобы свойство было default, т.е. можно было обращаться как Код: pascal 1.
нужно этому свойству установить dispid = 0 Код: plaintext 1. 2. 3. 4.
По идее, в редакторе ван нужно добавить одно Read | Write свойство ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 12:59 |
|
|
start [/forum/topic.php?fid=58&msg=40115222&tid=2036833]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
128ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 233ms |
0 / 0 |