Вниз
Скачать: 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.051 c
1-1121233573
Jay1982
2005-07-13 09:46
2005.07.31
WWW


1-1121353931
Леха
2005-07-14 19:12
2005.07.31
Размер файлов


4-1117283605
Steve
2005-05-28 16:33
2005.07.31
Как использовать команды 3DNow! в Delphi


1-1121260743
webpauk
2005-07-13 17:19
2005.07.31
проблемы с кодировкой


1-1121092736
mm0
2005-07-11 18:38
2005.07.31
Проблема с JPEG.Что за бракованые картинки?




   Наверх