Текущий архив: 2007.10.21;
Скачать: CL | DM;
ВнизНасколько важно именовать... Найти похожие ветки
← →
Вопрошающий (2007-08-04 18:50) [0]...динамически создаваемые в цикле компоненты при условии, что их имя знать совсем не обязательно? Какие могут быть подводные камни?
Чтобы было понятнее о чем речь, приведу пример:
for I := 0 to 10 do
begin
Button := TButton.Create(Form1);
Button.Parent := Form1;
Button.Name <- нужно или нет?
Спасибо.
← →
Dib@zol © (2007-08-04 18:54) [1]Ну если ты к ним обращаться через HWND будешь - то захрен не надо. А если нет - то А КАК ЖЕ? (с)
← →
Вопрошающий (2007-08-04 18:56) [2]Причем тут HWND? Обращаться я к ним буду так же, через цикл.
← →
Dib@zol © (2007-08-04 18:58) [3]Как это?? EnumChildWindows чтоли?
← →
Вопрошающий (2007-08-04 19:01) [4]Да хоть через Form.Components, какая разница.
← →
JanMihail © (2007-08-04 19:02) [5]Если ты к ним собираешься обращаться делай динамический массив из TButton и потом в цикле создавай. Но массив сделай переменной глобальной, иначе если после цикла заканчивается процедура, то к компонентам массива ты уже не сможешь обратиться.
← →
Dib@zol © (2007-08-04 19:04) [6]Тогда просто "для порядку" задай имена от балды ("krevedko#"+intToStr(i)), раз всё равно не нужны.
(с) А то вдруг что?
Наверняка могут возникнуть проблемы с удалением.» Юрий Зотов:» В данном коде - не могут.
← →
Вопрошающий (2007-08-04 19:06) [7]2 JanMihail
Все гораздо проще, это случай аналогичный отношению TTabSheet к TPageControl (не знаю, как это грамотно сформулировать), т.е. проблем с обращением как бы нет.
← →
Вопрошающий (2007-08-04 19:08) [8]
> Тогда просто "для порядку" задай имена от балды ("krevedko#"+intToStr(i)),
> раз всё равно не нужны. (с) А то вдруг что? Наверняка могут
> возникнуть проблемы с удалением.
Именно потому, что могут возникнуть проблемы с одинаковыми именами (точнее, именно потому, что они возникли, были решены, но все-таки) и был задан этот вопрос. Если отсутствие имени у компонента позволяет решать эту проблему без последствий, то зачем мучаться с именованием?
← →
Dib@zol © (2007-08-04 19:11) [9]> Если отсутствие имени у компонента позволяет решать эту
> проблему
Наверняка это как-то скажется при обработке некоторых сообщений. Но как - хз. Никогда так не делал...» Юрий Зотов:» Не скажется.
← →
trubin © (2007-08-04 19:11) [10]
> Да хоть через Form.Components, какая разница.
А как ты узнаешь какая кнопка нажата?
← →
Anatoly Podgoretsky © (2007-08-04 19:15) [11]> Вопрошающий (04.08.2007 19:08:08) [8]
Так зачем же спрашиваешь?
← →
Вопрошающий (2007-08-04 19:17) [12]
> А как ты узнаешь какая кнопка нажата?
Не нужно привязываться к кнопкам, я показал пример создания в цикле. Более правдоподобно в [7]
Просто скажу, что убрав имена у компонентов, я не испытал физического дискомфорта (все по-прежнему работает), остался духовный, который я означил фразой "Какие могут быть подводные камни?"» Юрий Зотов:» Никаких камней не будет. Если имена не используются, то они и не нужны. Вообще, имена компонентов по большому счету нужны лишь для IDE - по ним она именует поля формы и секции DFM.
← →
Вопрошающий (2007-08-04 19:19) [13]
> Так зачем же спрашиваешь?
Узнать про последствия.
← →
Dib@zol © (2007-08-04 19:19) [14]> могут возникнуть проблемы с одинаковыми именами
Каким образом???» Юрий Зотов:» Очень простым - владелец не может содержать двух компонентов с одинаковыми именами, вылетит ошибка.
← →
Anatoly Podgoretsky © (2007-08-04 19:20) [15]Когда узнаешь, то доложи.
← →
Вопрошающий (2007-08-04 19:21) [16]
> Каким образом???
Попробуй назвать две кнопки одинаковыми именами. А теперь попробуй сделать тоже самое динамически.
← →
Dib@zol © (2007-08-04 19:23) [17]> [16] Вопрошающий (04.08.07 19:21)
Каким образом получается так, что ты называешь кнопки одинаковыми именами???????????
← →
Вопрошающий (2007-08-04 19:25) [18]
> Каким образом получается так, что ты называешь кнопки одинаковыми
> именами???????????
Ничего удивительного, когда приложение чуть-чуть сложнее формы с двумя кнопками бывает сложно отследить правильность и дееспособность присвоения уникальных имен. Если их присваивать вовсе не нужно, жить становится гораздо веселее.» Юрий Зотов:» Имена присваивать можно, не совершенно не обязательно.
← →
Dib@zol © (2007-08-04 19:31) [19]> Ничего удивительного, когда приложение чуть-чуть сложнее
> формы с двумя кнопками бывает сложно отследить правильность
> и дееспособность присвоения уникальных имен. Если их присваивать
> вовсе не нужно, жить становится гораздо веселее.
ЕПТ!!! ОМФГ!!!!! ЕСЛИ ТЫ ДИНАМИЧЕСКИ СОЗДАЁШЬ ИМЕНА ТО ВЫБИРАЙ ТАКИЕ ЧТОБ ОНИ НЕ БЫЛИ ПОХОЖИ!!! ГЕНЕРИРУЙ ИХ ИЗ СТА СЛУЧАЙНЫХ СИМЫОЛОВ И ИНДЕКС В КОНЦЕ ДОБАВЛЯЙ!!!!!!!!!!
> бывает сложно отследить правильность и дееспособность присвоения
> уникальных имен
Просто слов нет...» Юрий Зотов:» У меня тоже.
← →
Вопрошающий (2007-08-04 19:34) [20]2 Dib@zol
Прочитай еще раз.
> Если их присваивать вовсе не нужно, жить становится гораздо
> веселее.
И, пожалуйста, избавь эту ветку от своего присутствия.
← →
Zagaevskiy © (2007-08-04 19:39) [21]
> И, пожалуйста, избавь эту ветку от своего присутствия.
Ого! Это жостко!
← →
Dib@zol © (2007-08-04 19:41) [22]Блн. Погорячился я...
← →
JanMihail © (2007-08-04 19:48) [23]Да че он мозг парит. Массив из 10 элементов и никаких имен
← →
Dib@zol © (2007-08-04 19:52) [24]> [20] Вопрошающий (04.08.07 19:34)
Существует нехилая вероятность того что такая "прога" будет оставлять баальшие утечки в памяти. => Именуй.» Юрий Зотов:» Нет такой вероятности.
← →
Вопрошающий (2007-08-04 20:04) [25]Таки хотелось бы прочесть обоснованное мнение. Жаль, что Анатолий самоустранился (или я по-прежнему не способен понимать тайный смысл его слов).
← →
Zagaevskiy © (2007-08-04 20:10) [26]
> JanMihail © (04.08.07 19:48) [23]
> Да че он мозг парит. Массив из 10 элементов и никаких имен
лучше 500 веббраузеров:))
← →
trubin © (2007-08-04 20:33) [27]
> Таки хотелось бы прочесть обоснованное мнение.
ИМХО.
Если ты нигде в приложении не используешь имена, так и ни к чему они... .
← →
Zagaevskiy © (2007-08-04 20:38) [28]
> Существует нехилая вероятность того что такая "прога" будет
> оставлять баальшие утечки в памяти
Обоснуй пжалста
← →
trubin © (2007-08-04 20:40) [29]
> Обоснуй пжалста
присоединяюсь...
Страницы: 1 вся ветка
Текущий архив: 2007.10.21;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.043 c