Главная страница
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.026 c
1-1085741984
ilnarab
2004-05-28 14:59
2004.06.13
Функция возвращающая диск по умолчанию Windows


1-1085753403
Gestapo
2004-05-28 18:10
2004.06.13
Программный поиск текста в документе Word.


1-1086076633
FragMan
2004-06-01 11:57
2004.06.13
Как мне frame засунуть в dll ???


4-1083737022
Olja
2004-05-05 10:03
2004.06.13
Звонок на городские номера


8-1080846684
?
2004-04-01 23:11
2004.06.13
как отловить изменения экрана?