Главная страница
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.46 MB
Время: 0.005 c
15-1439456322
olle
2015-08-13 11:58
2016.04.24
Штрих-М Повторная печать чека


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


15-1439131296
Кто б сомневался
2015-08-09 17:41
2016.04.24
Ребят, а чего бы вам не объедениться с delphikingdom


15-1439457626
NailMan
2015-08-13 12:20
2016.04.24
Помогите с написанием функции для ардуинки


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