![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TMethod = record Code, Data: Pointer; end; [D6, Win2k, WinXP]
Matolch © (2002-11-26 21:21:00)Подскажите, кто знает, как можно получить через значения переменной типа
TMethod = record
Code, Data: Pointer;
end;
строчку "Button1Click", возможно ли это?
Matolch (2002-11-27 19:04:00) [1]Точно. Все, ясно, я глуп и не обучен.
> Юрий Зотов © Спасибо!
Юрий Зотов (2002-11-27 16:58:00) [2]Потому что у редактируемого компонента нет такого метода. У него есть событие, на обработку которого данный метод назначен, но сам этот метод принадлежит другому объекту (обычно форме).
Matolch (2002-11-27 16:30:00) [3]Мне лишь непонятно, почему не получается так:
StrValueC := Component.MethodName(MethodC.Code);
Matolch (2002-11-27 16:17:00) [4]Согл.
Юрий Зотов (2002-11-27 00:14:00) [5]Если ремить, то вызывается MethodName того объекта, которому принадлежит данный код. А если не ремить, то объекта, находящегося по адресу Data. Так что ничего странного.
Matolch (2002-11-26 22:44:00) [6]
tkMethod:
begin
MethodC := GetMethodProp(Component, PropName);
MethodS := GetMethodProp(SomeObject, PropName);
if (MethodC.Code <> MethodS.Code) or (MethodC.Data <> MethodS.Data) then
begin
StrValueC := {TObject(MethodC.Data).}MethodName(MethodC.Code);
Add(" " + PropName + " := " + StrValueC + ";");
end;
end;
Если не ремить TObject(MethodC.Data), прекрасно работает.
Matolch (2002-11-26 22:40:00) [7]
> TTCustomDelphiMaster ©
Прошу прощения, это одно и то же. Пивка!
Matolch (2002-11-26 22:36:00) [8]
> Юрий Зотов ©
Работает, как раз, то что нужно !
Большое спасибо за совет !
Жаль, что далеко, пивка бы налил !
> TTCustomDelphiMaster ©
Спасибо за внимание, но это не совсем то, что надо. Зачем мне определять уже известное мне заранее (MyProc := Button1Click;) значение, ограничившись TNotEvnt. И тебе пивка !
Matolch (2002-11-26 22:25:00) [9]Спасибо, буду пробовать!
TTCustomDelphiMaster (2002-11-26 21:44:00) [10]Может такое решение подойдет
var
MyProc: TNotifyEvent;
...
MyProc := Button1Click;
ShowMessage(MethodName(@MyProc));
...
Юрий Зотов (2002-11-26 21:38:00) [11]Если это published-метод, то можно:
TObject(Data).MethodName(Code)