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

Вниз

Ответ на вопрос о стиле кодинга   Найти похожие ветки 

 
Юрий Зотов ©   (2009-12-14 22:58) [0]

Исходная ветка
http://delphimaster.net/view/2-1260808991/
закрыта, а не отвечать на вопрос не есть гуд - поэтому отвечаю здесь. Тем более, что ответ может оказаться полезным не только тому, кто спрашивал. Итак:

> можно немного написать о разнице между:
> 1. Components[i].ClassType = TPanel и Components[i] is TPanel
> 2. (Components[i] as TPanel).Color и TPanel(Components[i]).Color

1. Если используется наследник TPanel, то проверка
Components[i].ClassType = TPanel не сработает, а проверка
Components[i] is TPanel - сработает.

2. Код Components[i] as TPanel сначала проверяет класс компонента, на что тратится время. А код TPanel(Components[i]) ничего не проверяет и поэтому работает быстрее. При этом надежность кода не уменьшается, потому что класс мы уже проверили в п.1 и повторая проверка не нужна.


 
Kostafey ©   (2009-12-15 02:03) [1]

Удивительно. Как можно сохранять такую
остроту восприятия с учетом того, что вы
уже вроде несколько лет на java пишете.

Нет, я, конечно, сорри за оффтоп, и вообще
ни к селу не к городу, просто реально удивился.
За собой замечаю, что очень быстро забываю о том,
что не делаю (читай на чем не программирую).


 
GDI+   (2009-12-15 02:15) [2]


> Юрий Зотов ©   (14.12.09 22:58)  


Ну я иногда использую THackPanel для того чтобы напрямую к protected полям обращаться. Иногда нужно. Ну нет в Delphi friendly классов.


 
Германн ©   (2009-12-15 02:19) [3]


> Удивительно. Как можно сохранять такую
> остроту восприятия с учетом того, что вы
> уже вроде несколько лет на java пишете.
>

А что тут удивительного?
Мастерство не пропьёшь! Как бы это не звучало удивительно для "новичков".
У ЮЗ такие базовые знания, что даже на полиграфе он ответит :)
А языки - это вторичное.


 
Германн ©   (2009-12-15 02:39) [4]


> GDI+   (15.12.09 02:15) [2]
>
>
> > Юрий Зотов ©   (14.12.09 22:58)  
>
>
> Ну я иногда использую THackPanel для того чтобы напрямую
> к protected полям обращаться.

Ну и обращайся. Только этот "легальный способ" придуман уже давно.


 
Kerk ©   (2009-12-15 05:16) [5]

Это не про ЮЗ, просто вспомнилось :)
http://3.bp.blogspot.com/_ClP2CPgX71k/SyZOUPye4aI/AAAAAAAABAI/jNpJeIOwQQE/s400/arb02.jpg


 
Palladin ©   (2009-12-15 08:57) [6]


> Юрий Зотов ©   (14.12.09 22:58) 

Юр, ну ты же мог открыть дописать и закрыть )


 
Sergey Masloff   (2009-12-15 09:05) [7]

Kerk ©   (15.12.09 05:16) [5]
Отлично!


 
Anatoly Podgoretsky ©   (2009-12-15 09:38) [8]


> Юр, ну ты же мог открыть дописать и закрыть )

Мог, но это использование служебного положения.


 
Palladin ©   (2009-12-15 10:03) [9]

А продолжение закрытой ветки это не "использование служебного положения" ?


 
Alkid ©   (2009-12-15 10:10) [10]


> GDI+   (15.12.09 02:15) [2]

А с какой целью ты обращаешься?
Класс TPanel неправильно спроектирован?


 
Nucer   (2009-12-15 10:48) [11]

Когда тему закрыли, были определенные мысли о несправедливости решения =)
Приятно удивлен. Спасибо.


 
Anatoly Podgoretsky ©   (2009-12-15 10:48) [12]

> Palladin  (15.12.2009 10:03:09)  [9]


 
Anatoly Podgoretsky ©   (2009-12-15 10:49) [13]

> Palladin  (15.12.2009 10:03:09)  [9]

Это нарушение, но все решает модератор, так вот ни один из них не захотел



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

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

Наверх




Память: 0.49 MB
Время: 0.015 c
2-1261124358
Burger
2009-12-18 11:19
2010.02.21
Удаление экземпляра объекта


15-1258553129
test
2009-11-18 17:05
2010.02.21
Коллайдер


2-1261556130
Андрей_11
2009-12-23 11:15
2010.02.21
Определение не введённого поля


2-1260189361
Б
2009-12-07 15:36
2010.02.21
Окно по центру экрана.


15-1260653419
Юрий
2009-12-13 00:30
2010.02.21
С днем рождения ! 13 декабря 2009 воскресенье