Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.09.19;
Скачать: [xml.tar.bz2];

Вниз

Проблема с параметром Sender   Найти похожие ветки 

 
Magic   (2002-09-04 10:23) [0]

Помогите. Никак не пойму в чем дело. В обработчике события нажатия кнопки, описанного в ActionList, я пишу следующее:

Eq: array [1..3] of TEdit;
...
with Sender as TSpeedButton do
Eq[Tag].Text:="";
...
Так вот, компилятор говорит, что я неправильно присваиваю тип ("InvalidCast"). Задействовано 3 SpeedButton"а и каждому присвоен номер от 1 до 3. Кажется, пишу все правильно, а он говорит - ошибка:( Не знаю, что делать?


 
Ученик   (2002-09-04 10:31) [1]

if (Sender is TAction) and (TAction(Sender).ActionComponent is TSpeedButton) then
with TAction(Sender).ActionComponent do


 
Виктор Щербаков   (2002-09-04 10:33) [2]


> Так вот, компилятор говорит,

Компилятор всё же молчит в таких ситуациях. Дело-то происходит в runtime, не так ли?


 
Magic   (2002-09-06 13:25) [3]

Да, да, правильно. Но не объясните ли вы мне подробнее: почему? Пожалуйста. А лучше: почему именно так:
if (Sender is TAction) and (TAction(Sender).ActionComponent is TSpeedButton) then
with TAction(Sender).ActionComponent do


 
Ученик   (2002-09-06 13:28) [4]

{ Controls.pas }
procedure TControl.Click;
begin
{ Call OnClick if assigned and not equal to associated action"s OnExecute.
If associated action"s OnExecute assigned then call it, otherwise, call
OnClick. }
if Assigned(FOnClick) and (Action <> nil) and (@FOnClick <> @Action.OnExecute) then
FOnClick(Self)
else if not (csDesigning in ComponentState) and (ActionLink <> nil) then
ActionLink.Execute(Self)
else if Assigned(FOnClick) then
FOnClick(Self);
end;


 
Magic   (2002-09-06 13:40) [5]

Не понимаю, к чему мне то, что ты мне написал? Мне нужно просто понять, как работает событие, описанное в ActionList. Из всего написанного я понял, что это событие вызывается с параметром Sender = Self. Так?


 
MBo   (2002-09-06 13:43) [6]

Sender - Action.
В Delphi 5 у Action нет свойства ActionComponent, так что так просто не узнать, кто инициировал Action


 
Ученик   (2002-09-06 14:01) [7]

>Magic © (06.09.02 13:40)
Это объяснение, что происходит при нажатии на кнопку, но, к сожалению, для Delphi 6 (7)



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

Форум: "Основная";
Текущий архив: 2002.09.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
8-61221
VID
2002-05-19 19:58
2002.09.19
Нужно:


3-61026
Nameless
2002-08-29 21:43
2002.09.19
Проблема навигации по базе


1-61115
Evgen.RU
2002-09-10 11:34
2002.09.19
Использование задержки в DELPHI.......


3-60973
Skel
2002-08-28 11:49
2002.09.19
Как продублировать запись в таблице Paradox??


1-61075
SergeyDN
2002-09-09 11:39
2002.09.19
Как можно из делфей выбрать определённый лист в Excel!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский