|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.12.2009, 19:21 | #1 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Как сохранить ссылку на объект?
Например, я каждый раз посылал в юнит сам ListBox. Как сохранить его адрес? Что бы потом можно было изменять его не передавая снова в юнит?
Вроде как-то так: Код:
|
12.12.2009, 19:24 | #2 |
Форумчанин
Регистрация: 22.02.2009
Сообщений: 875
|
Код:
Код юнита: Код:
Код:
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Последний раз редактировалось Neeter; 12.12.2009 в 19:30. |
12.12.2009, 19:42 | #3 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Записывайте на листик шариковой ручкой :D
Вроде в дельфи, объект это и так уже адрес. Значит можно просто Код:
|
12.12.2009, 20:31 | #4 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Уже сделал как у Вована, но всё-равно всем спасибо)
Что значит lb^? |
12.12.2009, 20:35 | #5 | |
Форумчанин
Регистрация: 22.02.2009
Сообщений: 875
|
Цитата:
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
|
|
12.12.2009, 20:52 | #6 |
Форумчанин
Регистрация: 28.09.2008
Сообщений: 344
|
|
12.12.2009, 22:31 | #7 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
^Разве это не то же самое, что сказал Вован?)
|
13.12.2009, 00:16 | #8 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Совсем разные вещи.
У Вована указан глобальный объект и поэтому он будет хранить нужный вам указатель, а у s.Creator он объявлен локально и ничего хранить не будет. |
14.12.2009, 09:56 | #9 |
Форумчанин
Регистрация: 28.09.2008
Сообщений: 344
|
Извиняюсь, невнимательно прочитал вопрос.
Во исправление напишу подробнее, как я это делаю. Во первых, стараюсь меньше хранить ссылок на визуальные компоненты в других модулях и стараюсь разделить модули использованием функций или методов. Например если у меня есть форма диалога редактирования какого нибудь Edit, я делаю приблизительно так: Код:
Код:
У меня есть модули функций ( типа библиотек часто используемых функций ) - в них обычно никаких сторонних ссылок не храню. И модули Классов, которые позволяют создавать объекты, выполняющие какую-то деятельность. В них я предпочитаю хранить ссылки в виде полей класса. Даже если это класс формы - можно хранить ссылки на компоненты других форм в секции private например ( хотя уже давно не припомню, чтобы одни формы у меня хранили ссылки на компоненты других ). Причем если класс наследник от TComponent или его потомков, то можно пользоваться механизмом нотификации для обнуления ссылки при уничтожении компонента. Например: Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как уничтожить объект в C# | Никки | Общие вопросы .NET | 7 | 30.10.2014 23:54 |
Компонент как 3D объект | AsmodElial | Мультимедиа в Delphi | 1 | 19.09.2009 12:12 |
Возможно ли получить обработчиком событий ссылку на объект? | neizerth | Общие вопросы C/C++ | 4 | 15.02.2009 11:00 |
Получить ссылку на вызывающий объект | grenles | Общие вопросы Delphi | 10 | 07.11.2008 12:37 |