Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.31;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.068 c
3-1118912182
KorvinOE
2005-06-16 12:56
2005.07.31
Типы данных в MySQL


14-1121085262
Ferg
2005-07-11 16:34
2005.07.31
Stream


1-1120682032
ronyn
2005-07-07 00:33
2005.07.31
Сохранение параметров и настроек программы при её закрытии


6-1113825040
Roman001
2005-04-18 15:50
2005.07.31
Коннект к веб серверу


1-1121015870
BBCHa
2005-07-10 21:17
2005.07.31
TService и визуализация форм