Форум: "Начинающим";
Текущий архив: 2016.04.24;
Скачать: [xml.tar.bz2];
ВнизИмя метода 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.001 c