|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.09.2022, 01:48 | #31 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
|
11.09.2022, 01:53 | #32 | |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Цитата:
|
|
11.09.2022, 01:56 | #33 |
Форумчанин
Регистрация: 07.11.2011
Сообщений: 164
|
|
11.09.2022, 02:04 | #34 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
Цитата:
У меня вот возникла впервые эта тема, когда из разных мест программы по велению оператора нужно было послать некую команду внешнему железу. Посылать команду сразу непосредственно на железо нельзя. Нужна была очередь команд. Команду создать и заполнить её поля с помощью with .. do я мог, а вот чтобы её включить в список мне нужна была переменная. И не то чтобы это очень мне досаждало, но... |
|
11.09.2022, 02:05 | #35 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
А вы уверены, что это что-то подобное?
|
11.09.2022, 02:32 | #36 |
Форумчанин
Регистрация: 07.11.2011
Сообщений: 164
|
Что-то подобное это примеры в онлайн справке по delphi, конкретно добавление для стандартного класса полей/функций и тп с помощью class/record helpers. Что до хэлперов, то это инструмент и использовать его или например переопределение класса или любой другой метод это уже на усмотрение.
Ведь с чего всё началось? ТС нужно получить объект/ссылку на tbutton внутри конструкции with..do не присваивая его никакой переменной. |
11.09.2022, 02:40 | #37 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
|
11.09.2022, 04:38 | #38 |
Форумчанин
Регистрация: 07.11.2011
Сообщений: 164
|
Прочитал. Или мы друг друга не понимаем, или телега не едет(с)
Это понятно что ТС хочет стандартными средствами языка получить tbutton/ссылку на неё внутри конструкций with ... do, чтобы использовать внутри процедуры типа Код:
Чтобы решить проблему и получить объект/ссылку на объект есть разные выходы: - добавить поле/функцию в класс (в конкретный класс tbutton, родительский н-р twincontrol, наследника) которое вернёт искомое. Можно использовать свой собственный класс, наследника класса, использовать переопределение или как предложил я хэлперы. - перечислять элементы родительского контейнера (н-р components[] главной формы или панели) и искать нужную кнопку. При создании компонента/назначении родителя объект всё-же сохраняется в массиве, который находится на стороне родителя (FComponents: TList<TComponent> Но это справедливо для tbutton и в целом компонентов внутри контейнера. - возня c winapi и прочие извращения (этот вариант серьезно даже не стоит рассматривать) - пересмотреть свои взгляды и начать использовать дженерики, переменные, контейнеры и тп - и т.п. Что в моём предложении использовать class helpers не так? И к слову если создать хэлпер для Tobject примерно такого вида: Код:
Код:
|
11.09.2022, 12:43 | #39 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,648
|
Да, но в случае класса TButton это не прокатит, там-то такого свойства нет.
Будет, если потребуется из вложенного with обратиться к объекту на уровень выше. E-Mail: arigato.freelance@gmail.com
|
12.09.2022, 01:08 | #40 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
Цитата:
Но если ТС хочет кнопки создавать динамически, то что мешает написать простую обертку/наследник TButton, в который включить это свойство? Ну на первый раз достаточно хотя работы внутри одного уровня. И то плюс. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как обратиться к динамически созданному объекту, изменить его? | 2bfree | Общие вопросы Delphi | 3 | 24.07.2011 14:06 |
Обратиться к объекту фрейма без id'а | SkrudjMakdak | JavaScript, Ajax | 1 | 11.06.2011 21:46 |
Как обратиться к объекту формы из другого класса java | micha-r | Общие вопросы по Java, Java SE, Kotlin | 1 | 03.10.2009 21:07 |
Можно ли обратиться к объекту, запустившему событие? | ekesar | Microsoft Office Excel | 7 | 14.12.2008 21:17 |
Как обратиться к объекту который был только что создан | Arassir | Помощь студентам | 5 | 24.10.2008 20:42 |