![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамическое добавление методов к IDispatch
Priest © (2005-05-13 11:57:00)Слышал что можно реализивать такое.Никто не подскажет как это сделать на дельфи?
nikkie (2005-05-23 04:05:00) [1]>Я растроган до слез:)
Вы считаете мой пост неуместным?
>А как же GetTypeInfoCount?:))
я понадеялся, что не надо объяснять как эту функцию реализовывать.
>Иногда это важно, иногда нет
зависит от клиента не так ли? конечно, я допускаю, что могут быть ситуации, когда ничего кроме Invoke писать не надо. но и Вы ведь допускаете, что есть ситуации, когда этого не хватит. о чем тогда разговор?
единственный раз, когда мне пришлось динамически строить IDispatch - реализовывать надо было все методы IDispatch.
Набережных С. (2005-05-22 16:43:00) [2]
> nikkie © (22.05.05 15:39) [2]
> кроме реализации Invoke вообще-то надо еще реализовать GetTypeInfo
> и GetIDsOfNames
Я растроган до слез:) А как же GetTypeInfoCount?:))
Вообще-то это совершенно по барабану. Можно реализовать, можно воспользоваться стандартной реализацией TAutoObject, можно вернуть notimplement. Иногда это важно, иногда нет, но к теме вопроса как таковой не имеет ни малейшего отношения. Ага:)))
nikkie (2005-05-22 15:39:00) [3]кроме реализации Invoke вообще-то надо еще реализовать GetTypeInfo и GetIDsOfNames. для этого можно использовать функции CreateDispTypeInfo и DispGetIDsOfNames. принципиально сложного ничего нет. но должны быть очень серьезные причины, чтобы таким заниматься.
Набережных С. (2005-05-13 20:02:00) [4]Написав свою реализацию IDispatch.Invoke. По DispID определяешь какой метод вызывается и кто знает, как с этим методом работать, после чего передаешь ему обработку. Возни много, а смысл может быть только в очень специфичных случаях.