Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Вниз

Чем отличается (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.038 c
1-1090851003
Kosha80
2004-07-26 18:10
2004.08.08
Рисование дуги


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


1-1090574579
Юрий Ж.
2004-07-23 13:22
2004.08.08
Всплываюий Panel


14-1090246065
X9
2004-07-19 18:07
2004.08.08
Linux и Window$ на одном винте.


11-1078383184
Ricko
2004-03-04 09:53
2004.08.08
Плагины для Round_Watch





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