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

TNotifyEvent   Найти похожие ветки 

← →
AndDem   (2003-10-23 17:03) [0]

Добрый день!
Динамически создаю объект TMenuItem. Как прописать ему имя процедуры, которая бы вызывалась при событии OnClick?
Заранее благодарен.


← →
Reindeer Moss Eater ©   (2003-10-23 17:10) [1]

MenuItem.OnClick:=<имя нужной процедуры>


← →
AndDem   (2003-10-23 17:12) [2]

В том-то и дело, что не проходит...
Даже если ... := TNotifyEvent(:=<имя нужной процедуры>)


← →
Reindeer Moss Eater ©   (2003-10-23 17:13) [3]

Значит процедура не нужного типа, а другого


← →
AndDem   (2003-10-23 17:16) [4]

Вроде, нормально:
procedure aaa(sender)...
Говорит:
Incompatible types: "TNotifyEvent" and "procedure, untyped pointer or untyped parameter"


← →
Reindeer Moss Eater ©   (2003-10-23 17:19) [5]

Верь тому что говорит. Он не врет.

TNotifyEvent = procedure(Sender:TObject) of object;

А у тебя

TAnotherNotifyEvent = procedure(Sender:TObject);


← →
Reindeer Moss Eater ©   (2003-10-23 17:20) [6]

Говоря по-русски процедура должна быть методом класса


← →
AndDem   (2003-10-23 17:22) [7]

Нет, я, конечно, верю :-))
Но я пытаюсь подставить процедуру, которая уже реально подставлялась для выполнения при onclick"е на другом menuitem"е в design-time....
NewMenuItem.OnClick := InsertItemClick(Sender);
Что не так делаю?


← →
AndDem   (2003-10-23 17:23) [8]

Она является таковым (в design-time delphi сама прописала)


← →
Reindeer Moss Eater ©   (2003-10-23 17:25) [9]

:= InsertItemClick(Sender);

:= InsertItemClick;


← →
AndDem   (2003-10-23 17:26) [10]

Мда... Это я перегрелся :-))))))))
Спасибо!


← →
AndDem   (2003-10-23 17:50) [11]

А вот еще хитрый вопрос: можно ли как-то в процедуре InsertItemClickопределить, из какого пункта меню его вызвали, если при создании в run-time этих пунктов я везде указывал InsertItemClick? Через Sender, вроде, не получается...


← →
Reindeer Moss Eater ©   (2003-10-23 17:51) [12]

Через Sender, вроде, как раз получается


← →
AndDem   (2003-10-23 17:53) [13]

По логике -- да, но что-то не просеку, как именно :-((


← →
Reindeer Moss Eater ©   (2003-10-23 17:57) [14]

Sender это и есть кликнутый TMenuItem. Вернее то, чего в нем есть от TObject.

Если InsertItemClick никто кроме TMenuItem"ов не имеет, то смело делай TMenuItem(Sender)


← →
AndDem   (2003-10-23 18:00) [15]

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



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

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



Память: 0.47 MB
Время: 0.024 c
14-8643
MsGuns
2003-10-14 15:35
2003.11.03
Украинские сайты типа Job.ru


1-8384
antonioxxx
2003-10-21 16:27
2003.11.03
EAccessViolation Error!!! :(


7-8693
Дмитрий В. Белькевич
2003-08-22 15:47
2003.11.03
Печатаю прямо на канвас принтера. Как создать новую страницу?


14-8667
Partizan_
2003-10-12 19:48
2003.11.03
Модуль числа без ф-ции abs


3-8334
gs
2003-10-11 19:31
2003.11.03
Подскажите кто моооооооооожет сжать ч-з ADO базу ACCESS




   Наверх