Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.022 c
1-1090658388
ИМХО
2004-07-24 12:39
2004.08.08
Немного о TTimer е


3-1089860328
Ozone
2004-07-15 06:58
2004.08.08
Непонятки с запросом


14-1090216591
Dimman
2004-07-19 09:56
2004.08.08
UPX unpacker


3-1089870888
ligor
2004-07-15 09:54
2004.08.08
дата в IB


1-1090822563
Dimius
2004-07-26 10:16
2004.08.08
Как в TPageControl сделать, чтобы Tab были невидимыми?




   Наверх