Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2016.04.24;
Скачать: CL | DM;

Вниз

Имя метода procedure of object   Найти похожие ветки 

 
Желание   (2014-10-03 20:14) [0]

Возможно ли узнать имя метода переданного как TMethod?

TMyProc = procedure(a: integer) of object

TMyClass = class
 procedure SomeProc(a: integer);

c: TMyClass;
p: TMyProc;

c := TMyClass.Create;
p := c.SomeProc;

s: string;
s := TObject(TMethod(p).Data).UnitName + ".";
s := s + TObject(TMethod(p).Data).ClassName;
// s = "Unit1.TMyClass"


Можно ли получить "SomeProc"?

PS.
Писал прямо здесь, возможны ошибки, но общая суть, вроде, должна быть понятна.


 
MBo ©   (2014-10-04 11:53) [1]

Через новое RTTI получить список методов класса TObject(TMethod(p).Data).ClassName, сравнить адреса с TMethod(p).Code


 
Желание   (2014-10-04 13:55) [2]

Спасибо.
Сработало. Единственное, что есть условности в виде директивы {$RTTI EXPLICIT METHODS([...])}

Но, как я понимаю, других способов нет :(



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

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

Наверх




Память: 0.47 MB
Время: 0.008 c
2-1411410140
Viktor
2014-09-22 22:22
2016.04.24
RS-232 Помогите!


4-1276949542
lexi
2010-06-19 16:12
2016.04.24
Проверить существование родительского процесса


15-1439065887
xayam from NB
2015-08-08 23:31
2016.04.24
Таблица Менделеева


2-1411564536
Who_are_you?
2014-09-24 17:15
2016.04.24
делфи 7 а делфи 5


15-1439386977
K-1000
2015-08-12 16:42
2016.04.24
Как сделать список TBitmap ов?