![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 684
|
![]()
По определенным причинам, некоторые кнопки надо создавать не с формы, а изнутри программы.
Надобности совершать каких-то других действий с этой кнопкой нет. Только реагировать на ее нажатие. Вопрос: есть ли смысл вынести в отдельную процедуру вот так вот создание этих кнопок? В плане оптимизации программы. Или процесс ввода данных в процедуру съест всю экономию и лучше все же просто обойтись прописыванием отдельно кода для каждой процедуры? Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]()
Если обработчик OnClick для всех кнопок создаваемых процедурой NewButton один и тот же, то никакого смысла в этом коде нет.
Если же они разные, то тоже смысла не вижу. |
![]() |
![]() |
![]() |
#3 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,427
|
![]()
А есть какой-то толк делать так?
Код:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 684
|
![]()
Ради интереса проверил - медленно но сокращается размер программы
Где-то после того как кнопок 20 перевел на такую процедуру - на 1 кб уменьшился таки exe'шник Ну плюс да, еще и листинг ощутимо уменьшился |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 684
|
![]()
Кстати, у меня вот вопрос
Что означает эта переменная? в T___.Create(переменная) Потому что пока видел примеры только с nil и self |
![]() |
![]() |
![]() |
#6 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]() Цитата:
Стоило ли бороться? Эта переменная, а говоря грамотно это параметр AOwner метода TComponent.Create(AOwner:TComponent ) - ссылка на владельца данного компонента. Который обязан в случае своего уничтожения грамотно уничтожить созданный вами ранее компонент. Если передать в качестве этого параметра nil это значит что уничтожение этого компонента с возвратом памяти в ОС - обязанность программиста. Если self то для начинающих это ссылка на форму, в модуле которой написан такой код. |
|
![]() |
![]() |
![]() |
#7 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,427
|
![]()
Да, я не прав. Так как есть разница между Owner и Parent. Владелец отвечает за уничтожение, а родитель за отображение.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 684
|
![]()
Ну то есть, если объект не планирует уничтожаться, то без разницы?
|
![]() |
![]() |
![]() |
#9 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]() |
![]() |
![]() |
![]() |
#10 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]()
Вот только в толк не возьму в чём вы посчитали себя неправым! Может ещё раз подумаете при случае? ТС кидает кнопку на некий компонент. Он же контрол. Так почему бы не назначить именно его и владельцем?
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
с чего начать изучать программирование, что конкретно имеет смысл освоить в плане востребованности | Лан | Свободное общение | 46 | 22.07.2019 19:22 |
Выход за границы массива, имеет-ли смысл в виртуальных адресах? | DakotaZ | Общие вопросы C/C++ | 4 | 27.08.2014 16:46 |
Одна процедура для нескольких кнопок | MaxxVer | Microsoft Office Excel | 14 | 15.07.2014 18:02 |
Краткий смысл. В чем цель и смысл вашей жизни? | grenles | Свободное общение | 20 | 13.09.2010 07:13 |
Редактор для создания ТАКИХ кнопок. | Alex Cones | Софт | 10 | 06.06.2009 12:44 |