Главная страница
    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.46 MB
Время: 0.034 c
3-1089558405
Nurali
2004-07-11 19:06
2004.08.08
Запрос


8-1084421827
Tolik.R.V.
2004-05-13 08:17
2004.08.08
Преоброзования BMP -> TIF.


1-1090685928
fess
2004-07-24 20:18
2004.08.08
Оператор for


14-1090474432
Homer S.
2004-07-22 09:33
2004.08.08
Продажа программного продукта


1-1090448101
AlexR
2004-07-22 02:15
2004.08.08
Как изменить всплывающее меню в таскбаре





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский