Текущий архив: 2004.08.08;
Скачать: CL | DM;
ВнизЧем отличается (Sender as TLabel) и TLabel(Sender)? Найти похожие ветки
← →
Павел_ (2004-07-23 13:43) [0]Subj. TLabel - это пример. Интуиция подсказывает, что ничем, однако хотелось бы знать точно. Заранее благодарен.
← →
Anatoly Podgoretsky © (2004-07-23 13:46) [1]Интуиция тебя подвела, первый с проверкой допустимости приведения, а второе метод грубой силы.
← →
Fay © (2004-07-23 13:48) [2]Угадай, где оно сдохнет?
var
b1, b2 : TButton;
begin
b1 := TButton(Form1);
b2 := Form1 as TButton
ShowMessage(b1.Caption+b2.Caption);
end;
← →
Subdigger © (2004-07-23 13:50) [3]Па моему привильно так
if sender is TLabel then...
а дальше (Sender as TLabel) и TLabel(Sender) не имеет значения
← →
ИдиотЪ (2004-07-23 13:53) [4]Fay ©
по любому не откомпилится)
← →
DiamondShark © (2004-07-23 13:58) [5]
> Угадай, где оно сдохнет?
При компиляции ;)
← →
VMcL © (2004-07-23 14:02) [6]>>Павел_ (23.07.04 13:43)
"(Sender as TLabel).SetFocus;" эквивалентно след. псевдокоду:if not (Sender is TLabel) then
raise Exception.Create("Вы лопухнулись!");
TLabel(Sender).SetFocus;
>>Subdigger © (23.07.04 13:50) [3]
>а дальше (Sender as TLabel) и TLabel(Sender) не имеет значения
Если уже выполнена проверка "is", то зачем выполнять её еще раз в "as"? См. начало поста.
← →
Павел_ (2004-07-23 14:49) [7]2 All
Вообщем-то разобрался. Т.е в случае когда совершенно точно известно, что Sender есть TLabel, лучше сразу использовать TLabel(Sender)?
← →
Sandman25 © (2004-07-23 14:49) [8]Ага.
← →
Павел_ (2004-07-23 15:02) [9]Понял. Спасибо всем за ответы.
Страницы: 1 вся ветка
Текущий архив: 2004.08.08;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.034 c