Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.24;
Скачать: CL | DM;

Вниз

В чём отличие приведения типов?   Найти похожие ветки 

 
allucard   (2007-06-04 10:46) [0]

Доброго всем дня.

Подскажите неграмотному, чем отличаются записи:

(Components[i] as TLabel).Caption и
TLabel(Components[i]).Caption?


 
tesseract ©   (2007-06-04 10:52) [1]

as идёт с проверкой на typecast.


 
allucard   (2007-06-04 10:57) [2]


> typecast

Это проверка на соответствие типов?


 
ЮЮ ©   (2007-06-04 10:58) [3]

> TLabel(Components[i]).Caption?

Быстрое, (типа TObject(от целого) :)) но надо быть уверенным, что Components[i]) точно наследник TLabel, ибо в противном случае можно нарваться на "непонятный" глюк.


> (Components[i] as TLabel).Caption

Если Components[i] не наследник TLabel, то нарвешься на вполне очевидное Exception, но медленнее (типа StrToDateTime(строка) :).

Поэтому самое правильное:

if (Components[i] is TLabel) then begin
 TLabel(Components[i]).Caption
end;


 
Anatoly Podgoretsky ©   (2007-06-04 11:44) [4]

> allucard  (04.06.2007 10:46:00)  [0]

Второе - метод грубой силы


 
ЮЮ ©   (2007-06-04 12:00) [5]

> Второе - метод грубой силы

А по мне, так - уверенности в собственных силах. Где же здесь грубость, если сначало было деликатное is ? :)


 
Anatoly Podgoretsky ©   (2007-06-04 12:12) [6]

Откуда взялось деликатное is ?


 
ЮЮ ©   (2007-06-04 12:17) [7]

> Откуда взялось деликатное is ?

У меня, двумя постами выше:

if (Components[i] is TLabel) then begin
 TLabel(Components[i]).Caption ...
 TLabel(Components[i]). ...
end;


 
Anatoly Podgoretsky ©   (2007-06-04 12:53) [8]

А я отвечал на вопрос автора!



Страницы: 1 вся ветка

Текущий архив: 2007.06.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
15-1180348932
Думкин
2007-05-28 14:42
2007.06.24
CodeGear Новосибирск


15-1180414575
vajo
2007-05-29 08:56
2007.06.24
Чем можно скопировать с DVD бонус саундтреков


2-1180607028
Шакал
2007-05-31 14:23
2007.06.24
Добавить значение в уже имеющуюся строку


11-1162502592
SKA1997
2006-11-03 00:23
2007.06.24
function WndProc override


11-1163643952
КВАНТ
2006-11-16 05:25
2007.06.24
Циклом читать и писать настройки из/в файл