Вниз
Скачать: 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.015 c
1-8517
AndDem
2003-10-23 17:03
2003.11.03
TNotifyEvent


1-8438
undert
2003-10-14 22:55
2003.11.03
Rave PDF Render


1-8458
ARTEMKA
2003-10-24 14:30
2003.11.03
Про перерисовку окна


7-8684
PafnukGluck
2003-08-23 04:18
2003.11.03
Выкл ПК в Xp


1-8389
DolginD
2003-10-21 16:09
2003.11.03
Как грамотно организовать много потоков




   Наверх