Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.035 c
6-1086536179
ilias
2004-06-06 19:36
2004.08.08
Пароль и логин при dial-up дозвоне


4-1088103041
miwa
2004-06-24 22:50
2004.08.08
Как "успокоить" SHFileOperation?


1-1090575798
Павел_
2004-07-23 13:43
2004.08.08
Чем отличается (Sender as TLabel) и TLabel(Sender)?


6-1086518328
VID
2004-06-06 14:38
2004.08.08
Поведение сокета при отправке данных


1-1090438350
AlexR
2004-07-21 23:32
2004.08.08
Как убрать свою программу из TaskBar