Вниз
Скачать: 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.02 c
4-1088589015
juiceman
2004-06-30 13:50
2004.08.08
Открытый файл


14-1090490977
ghg
2004-07-22 14:09
2004.08.08
рисование блок-схемы


8-1085322240
Yokka-56
2004-05-23 18:24
2004.08.08
Гуру Дульфи, подскажите пожалуйста


14-1090606537
Ricks
2004-07-23 22:15
2004.08.08
www.hotbox.ru - что с ним


4-1088159955
Zelius
2004-06-25 14:39
2004.08.08
Как вызвать из программы диалог Internet options?




   Наверх