![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PopupMenu - определить какой Item вызвал событие OnClik [D7, WinXP]
Gavrila © (2008-03-26 13:37:00)Всем добрый день. Подскажите, плз, по следующему вопросу:
popupmenu состоит из динамически изменяемых Items, у всех на событие OnClik стоит одна процедура:
Procedure TForm1.PM_OnClik(Sender: TObject);
Begin
...
End;
как внутри PM_OnClik узнать какой именно Item(Name) вызвал событие?
Kolan (2008-03-26 17:54:00) [21]> Собственно, меня это у тебя как-то и не удивляет.
Почему это вдруг?
Ega23 (2008-03-26 16:29:00) [22]Короче, не в Action-ах дело.
А в том, что смотреть Sender у TMenuItem.OnClick - дело опасное.
Ega23 (2008-03-26 16:27:00) [23]
> myAction.Execute
Я сейчас точно не вспомню, но какие-то проблемы с этим были.
Плохиш (2008-03-26 16:26:00) [24]
> Kolan © (26.03.08 15:50) [6]
> Честно говоря никогда не проверял на нил Sender
Собственно, меня это у тебя как-то и не удивляет.
Kolan (2008-03-26 16:18:00) [25]> myAction.OnExecute(nil);
А так никак нельзя?
myAction.Execute
?
Ega23 (2008-03-26 15:56:00) [26]
> Честно говоря никогда не проверял на нил Sender как-то странно…
> Сообщение есть, а отправителя нет…
????
myAction : TAction;
.....
myAction.OnExecute(nil);
Kolan (2008-03-26 15:50:00) [27]Честно говоря никогда не проверял на нил Sender как-то странно Сообщение есть, а отправителя нет
ЗЫ
Понято что если компонент написан через ж. то такое может случится Но стоит ли на это ассчитывать?
Плохиш (2008-03-26 15:20:00) [28]
> Проверка на класс остаёться домашним заданием
и на нил тоже ;-)
tesseract (2008-03-26 15:15:00) [29]
> ЕМНИП, в качестве Sender может Action вернуться. Так что
> аккуратнее с этим...
Там что хошь может вернуться. Проверка на класс остаёться домашним заданием :-).
Ega23 (2008-03-26 15:03:00) [30]
> TMyItem(Sender).Name;
ЕМНИП, в качестве Sender может Action вернуться. Так что аккуратнее с этим...
Gavrila (2008-03-26 14:00:00) [31]
> tesseract © (26.03.08 13:46) [1]
>
> TMyItem(Sender).Name;
Спасибо большое, получилось
tesseract (2008-03-26 13:46:00) [32]
> как внутри PM_OnClik узнать какой именно Item(Name) вызвал
> событие?
TMyItem(Sender).Name;