Форум: "Начинающим";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];
ВнизВ чём отличие приведения типов? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c