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

Вниз

Как результат MethodAddress использовать в качестве Tnotifyevent.   Найти похожие ветки 

 
novill   (2004-05-31 11:53) [0]

Уважаемые мастаки! Помогите разобраться - никакие мне известные преобразования не проходят. А сделать надо.
Сверхзадача такая - необходимо реализовать динамического меню программы - пользователь запускает программу, а та считывает какие функции ему доступны.


 
Семен Сорокин ©   (2004-05-31 12:04) [1]

ниииичего не понимаю.
(с) м/ф "Следствие ведут колобки"


 
Fay ©   (2004-05-31 12:04) [2]

MainMenu1.Items[n].Caption := IntToStr(Integer(MethodAddress(...)))
8)


 
Семен Сорокин ©   (2004-05-31 12:30) [3]

:)))

procedure TForm1.Button4Click(Sender: TObject);
type
 PNotifyEvent = ^TNotifyEvent;
var
 _p: PNotifyEvent;
begin
New(_p);
_p^ := Form1.OnDblClick;
Form1.OnClick := _p^;
Dispose(_p)
end;


 
Fay ©   (2004-05-31 12:37) [4]

Это ваще вилы! 8) Ты бы хоть смайлик поставил!


 
Семен Сорокин ©   (2004-05-31 12:52) [5]

Ты бы хоть смайлик поставил!
Так поставил же :))


 
Fay ©   (2004-05-31 12:56) [6]

Вижу. Я уже автоматически фильтрую смайлы с количеством улыбков > 2, блин...
8)


 
novill   (2004-05-31 12:56) [7]

Шутники :)

Представьте себе, что на форме определено около десятка
published методов типа    
procedure NameOfMethod(Sender: TObject);
По нажатию нопки должно происходить одно из них. Какое именно
известно только в процессе выполнения - из файла считывается
имя процедуры. Вопрос: как это сделать?


 
TMethod   (2004-05-31 13:41) [8]

var
 ne: TNotifyEvent;

TMethod(ne).Code := x.MethodAddress("...");
TMethod(ne).Data := Pointer(x);

y.OnSomething := ne;


 
novill   (2004-06-01 08:43) [9]

Спасибо TMethod
Получилось



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
14-1085585986
Drakon
2004-05-26 19:39
2004.06.13
GMail


8-1080833138
Pa5ha
2004-04-01 19:25
2004.06.13
D3D


1-1085820340
Dextor-andrei
2004-05-29 12:45
2004.06.13
Console Application


1-1085943680
Gestapo
2004-05-30 23:01
2004.06.13
UNICODE


4-1084062892
cemick
2004-05-09 04:34
2004.06.13
Запись файла в различное место ЖД