Вниз
Скачать: CL | DM;

TMethod = record Code, Data: Pointer; end;   Найти похожие ветки 

← →
Matolch ©   (2002-11-26 21:21) [0]

Подскажите, кто знает, как можно получить через значения переменной типа

TMethod = record
Code, Data: Pointer;
end;

строчку "Button1Click", возможно ли это?


← →
Юрий Зотов ©   (2002-11-26 21:38) [1]

Если это published-метод, то можно:
TObject(Data).MethodName(Code)


← →
TTCustomDelphiMaster ©   (2002-11-26 21:44) [2]

Может такое решение подойдет
var
MyProc: TNotifyEvent;

...
MyProc := Button1Click;
ShowMessage(MethodName(@MyProc));
...


← →
Matolch ©   (2002-11-26 22:25) [3]

Спасибо, буду пробовать!


← →
Matolch ©   (2002-11-26 22:36) [4]


> Юрий Зотов ©

Работает, как раз, то что нужно !
Большое спасибо за совет !
Жаль, что далеко, пивка бы налил !

> TTCustomDelphiMaster ©

Спасибо за внимание, но это не совсем то, что надо. Зачем мне определять уже известное мне заранее (MyProc := Button1Click;) значение, ограничившись TNotEvnt. И тебе пивка !


← →
Matolch ©   (2002-11-26 22:40) [5]


> TTCustomDelphiMaster ©

Прошу прощения, это одно и то же. Пивка!


← →
Matolch ©   (2002-11-26 22:44) [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), прекрасно работает.


← →
Юрий Зотов ©   (2002-11-27 00:14) [7]

Если ремить, то вызывается MethodName того объекта, которому принадлежит данный код. А если не ремить, то объекта, находящегося по адресу Data. Так что ничего странного.


← →
Matolch ©   (2002-11-27 16:17) [8]

Согл.


← →
Matolch ©   (2002-11-27 16:30) [9]

Мне лишь непонятно, почему не получается так:

StrValueC := Component.MethodName(MethodC.Code);


← →
Юрий Зотов ©   (2002-11-27 16:58) [10]

Потому что у редактируемого компонента нет такого метода. У него есть событие, на обработку которого данный метод назначен, но сам этот метод принадлежит другому объекту (обычно форме).


← →
Matolch ©   (2002-11-27 19:04) [11]

Точно. Все, ясно, я глуп и не обучен.

> Юрий Зотов © Спасибо!




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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.018 c
14-28209
Gritzan
2002-11-17 03:59
2002.12.09
Проблемы с функцие Blockread


1-27995
ec
2002-11-29 15:00
2002.12.09
TDrawGrid


3-27802
stoper
2002-11-19 21:15
2002.12.09
Первые шаги в SQL. HELP!!! HELP!!!HELP!!!


1-27988
snake1977
2002-11-25 12:54
2002.12.09
Точек на символ


14-28229
Cr@sh
2002-11-17 18:08
2002.12.09
Подскажите самый дешевый платный хостинг




   Наверх