Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

Динамическое добавление методов к IDispatch   Найти похожие ветки 

 
Priest   (2005-05-13 11:57) [0]

Слышал что можно реализивать такое.Никто не подскажет как это сделать на дельфи?


 
Набережных С. ©   (2005-05-13 20:02) [1]

Написав свою реализацию IDispatch.Invoke. По DispID определяешь какой метод вызывается и кто знает, как с этим методом работать, после чего передаешь ему обработку. Возни много, а смысл может быть только в очень специфичных случаях.


 
nikkie ©   (2005-05-22 15:39) [2]

кроме реализации Invoke вообще-то надо еще реализовать GetTypeInfo и GetIDsOfNames. для этого можно использовать функции CreateDispTypeInfo и DispGetIDsOfNames. принципиально сложного ничего нет. но должны быть очень серьезные причины, чтобы таким заниматься.


 
Набережных С. ©   (2005-05-22 16:43) [3]


> nikkie ©   (22.05.05 15:39) [2]


> кроме реализации Invoke вообще-то надо еще реализовать GetTypeInfo
> и GetIDsOfNames

Я растроган до слез:) А как же GetTypeInfoCount?:))
Вообще-то это совершенно по барабану. Можно реализовать, можно воспользоваться стандартной реализацией TAutoObject, можно вернуть notimplement. Иногда это важно, иногда нет, но к теме вопроса как таковой не имеет ни малейшего отношения. Ага:)))


 
nikkie ©   (2005-05-23 04:05) [4]

>Я растроган до слез:)
Вы считаете мой пост неуместным?

>А как же GetTypeInfoCount?:))
я понадеялся, что не надо объяснять как эту функцию реализовывать.

>Иногда это важно, иногда нет
зависит от клиента не так ли? конечно, я допускаю, что могут быть ситуации, когда ничего кроме Invoke писать не надо. но и Вы ведь допускаете, что есть ситуации, когда этого не хватит. о чем тогда разговор?

единственный раз, когда мне пришлось динамически строить IDispatch - реализовывать надо было все методы IDispatch.



Страницы: 1 вся ветка

Текущий архив: 2006.04.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
15-1143440491
Ega23
2006-03-27 10:21
2006.04.16
С Днём рождения! 26 марта


2-1143770792
pavlin_pah
2006-03-31 06:06
2006.04.16
Запись,редактирование записей в БД


1-1141916601
D7pro
2006-03-09 18:03
2006.04.16
Как извлечь GZIP файлы


9-1128248086
NightLord
2005-10-02 14:14
2006.04.16
текстуры в OpenGL


4-1138371915
mm0
2006-01-27 17:25
2006.04.16
Как грамотно запретить запуск второй копии программы?