Вниз
Скачать: CL | DM;

RTTI?   Найти похожие ветки 

 
Piter ©   (2005-07-09 21:54) [0]

Мы находимся внутри DLL-плугина к программе. Программа написана на Delphi.

В плугин передается Application:TApplication

Можно узнать какие методы есть у главной формы (Application.MainForm)?


 
Игорь Шевченко ©   (2005-07-09 21:59) [1]


> Можно узнать какие методы есть у главной формы (Application.MainForm)?


Published-методы и перекрытые виртуальные вроде при желании можно, пройдя по VMT. Статические и классовые нельзя.
Но пройти по VMT можно только руками, взяв адрес VMT из 32-х бит по адресу Application.MainForm.


 
Юрий Зотов ©   (2005-07-09 22:10) [2]

> Piter ©   (09.07.05 21:54)

ИМХО, неверная схема взаимодействия приложения и плагина. Плагин и не должен знать ничего о приложении. Это приложение должно заведомо знать, что плагин имеет заведомо определенные методы - и просто вызывать эти методы плагина, когда ему (приложению) нужно. Задача же плагина - эти методы реализовать. И все.

Если для этого плагину требуются какие-то данные из приложения, то их можно передать через callback-функции, через сообщения, через общую область данных (инициализируемую приложением) и т.п.


 
DrPass ©   (2005-07-09 22:34) [3]

Если нужна RTTI, плагины лучше делать в виде bpl. Впрочем, их вообще лучше делать в виде bpl, если в плагине будут использоваться какие-либо классы VCL.


 
Anatoly Podgoretsky ©   (2005-07-09 22:40) [4]

Если речь про RTTI, то в ДЛЛ своя RTTI


 
Piter ©   (2005-07-10 01:07) [5]

Юрий Зотов ©   (09.07.05 22:10) [2]
ИМХО, неверная схема взаимодействия приложения и плагина


программа писана не мной, и не я разрабатывал схему взаимодействия

P.S. Хм, а неужели с помошью RTTI нельзя выташить информация о методах и передаваемых в них параметрах? Вроде для того и создавалась...

Что мешает?


 
Юрий Зотов ©   (2005-07-10 01:12) [6]

> Piter ©   (10.07.05 01:07) [5]

> неужели с помошью RTTI нельзя выташить информация о методах

Для published - можно. Для виртуальных и динамических - тоже можно. Для прочих - нет.

> и передаваемых в них параметрах?

Для published - можно вытащить и параметры.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.032 c
3-1118923708
evg00
2005-06-16 16:08
2005.07.31
Проблема с запросом


1-1120926693
Line
2005-07-09 20:31
2005.07.31
Вопрос о режимах смешивания изображений.


1-1121390392
qwerte
2005-07-15 05:19
2005.07.31
Почему поиск не раболтает?


3-1118912182
KorvinOE
2005-06-16 12:56
2005.07.31
Типы данных в MySQL


14-1120986439
NewWonder
2005-07-10 13:07
2005.07.31
Как сделать счётчик скачиваний файла?




   Наверх