|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.04.2015, 14:31 | #1 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Прочитать библиотеку типов из СОМ сервера
Доброго всем.
Вроде не писал тут подобный вопрос, но задаюсь им довольно давно. Как ЯВУ (а точнее компиляторы) понимают какой метод вызвать (или как и к какому свойству обратиться) в СОМ сервере по пути к свойству. Я ведь правильно понимаю - обращение к свойству или методу интерфейса состоит к обращению к некой таблице свойств по номеру этого свойства в интерфейсе? Но программист не пишет номер. программист пишет "словами" типа Код:
Как вообще на уровне скажем Ассемблера работают с интерфейсами? ссылки ессно приветствуются.
I'm learning to live...
|
07.04.2015, 15:12 | #2 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
На Delphi Kingdom была статейка с разбором того, что такое интерфейс, как это работает. Найти не получается
По сути интерфейсы это очень продвинутая секция экспорта функций, т.е. Вы экспортируете сразу класс. Цитата:
Получается, что есть фабрика OCX и GUID который ищет ваш компилятор в реестре, далее по GUID интерфейса чей метод вызван, от фабрики OCX ищется.. понятия не имею что, и далее вызывается. Хорошо будет, если изучите процесс регистрации таких библиотек. Вот нашел: http://www.delphikingdom.ru/asp/view...catalogid=1202 см. представление интерфейса в памяти. P.S. Не путайте COM и OLE это 2 разные технологии. OLE можно передать что хочешь, тебе просто вернет ошибку система, что у объекта нет этого метода. С интерфейсом так не прокатит, скомпилировать даже не даст. Последний раз редактировалось Человек_Борща; 07.04.2015 в 15:24. |
|
07.04.2015, 15:27 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Клас! Тоесть это, я правильно понял, тупо текст, который нужно синтаксическим анализатором обработать?
Ща надо будет почитать про MIDL. Может в WinAPI есть функции, которыми этот ресурс можно будет вычитать так, чтоб получить уже готовую таблицу методов интерфейсом с их параметрами?
I'm learning to live...
|
07.04.2015, 15:34 | #4 | ||
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
Цитата:
Изучите, как регистрируется ActiveX-библиотека в реестре, что туда записывается. Напишите свой OCX и EXE использующий его, посмотрите что куда стучится... Опытный путь всегда интересный.... Последний раз редактировалось Человек_Борща; 07.04.2015 в 15:44. |
||
07.04.2015, 15:46 | #5 |
Форумчанин
Регистрация: 16.01.2015
Сообщений: 672
|
что сом что оле по сути одно и тоже
см DispId, диспетчерезация, IDispatch, позднее и раннее связывание etc |
07.04.2015, 15:47 | #6 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
|
|
07.04.2015, 15:49 | #7 |
Форумчанин
Регистрация: 16.01.2015
Сообщений: 672
|
читайте выше
|
07.04.2015, 16:07 | #8 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
Последний раз редактировалось Человек_Борща; 07.04.2015 в 16:10. |
|
07.04.2015, 16:33 | #9 | ||||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Цитата:
Цитата:
Ладно уж хотя бы понятно с чего начинать копать. Про IDL я и не слышал вообще, потому и плюсанул
I'm learning to live...
|
||||
07.04.2015, 16:51 | #10 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вызов интерфейса из СОМ сервера. | Stilet | Win Api | 9 | 23.12.2016 03:51 |
создание простого объекта СОМ в составе внутреннего сервера Delphi | carrie bradshaw | Помощь студентам | 0 | 30.03.2015 21:58 |
настройка СОМ-сервера | mureno | Компоненты Delphi | 0 | 12.12.2010 15:35 |
Система СОМ на базе сервера МТS | s2dentishe | Общие вопросы Delphi | 4 | 17.09.2010 10:10 |