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

Вниз

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

 
Юрий Зотов ©   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
2-1261394560
valussev@mail.ru
2009-12-21 14:22
2010.02.21
часть битмапа


2-1261410151
Aleks
2009-12-21 18:42
2010.02.21
Динамически создавать каждый компонент или копировать объект


1-1237987586
Валигози
2009-03-25 16:26
2010.02.21
Как прервать консольное приложение по Ctrl+C ?


3-1234272238
bafy
2009-02-10 16:23
2010.02.21
Как добавить "значение по умолчанию" в запрос?


15-1260806036
{RASkov}
2009-12-14 18:53
2010.02.21
3G Modem





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