Главная страница
    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.45 MB
Время: 0.04 c
4-1117649455
vi.ki.ng-vku
2005-06-01 22:10
2005.07.31
Перехват нажатия клавиши


1-1121156861
granni
2005-07-12 12:27
2005.07.31
Завершение работы DLL


1-1121322454
zamik
2005-07-14 10:27
2005.07.31
Опять вопрос по QReport


8-1112193030
Антоныч
2005-03-30 18:30
2005.07.31
Access Violation на glutInitWindowPosition


14-1120832524
alex-drob
2005-07-08 18:22
2005.07.31
Не работает звуковая карта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский