![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 30.06.2010
Сообщений: 20
|
![]()
Здравствуйте. Я пишу в Delphi 7. В ходе работы пользователя с моей программой, на форме должны создаваться новые объекты(это правда необходимо). Создавать их довольно просто, это я понял как делать, но мне необходимо затем программно обращаться к свойствам вновь созданных объектов. И в этом загвоздка. Я пробовал через FindComponent(позволяет обратиться к компоненту по его имени указанном в строке), но выдаются ошибки или delphi ведет себя так как будто компонента не существует. Может так оно и есть ведь в Object TreeView его не появляется. Как мне можно разрешить эту проблему? И можно ли как то добавлять созданные объекты в дерево объектов и сохранять их на форме при следующих запусках. Может как то надо работать с dfm файлом? Что бы пояснить о чем я говорю приведу пример кода.
Создаю компоненты так: Код:
Код:
Код:
Может кто-нибудь знает в чем дело и как можно исправить положение? Заранее спасибо за помощь. Последний раз редактировалось Stilet; 08.03.2011 в 20:01. |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Код:
При этом она может отображаться на форме, за это "отвечает" свойство parent Код:
Цитата:
Код:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 08.03.2011 в 18:47. |
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 30.06.2010
Сообщений: 20
|
![]()
Спасибо большое! Буду знать.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 489
|
![]()
Еще можно обращаться к компонентам на форме (или другом контроле) при помощи свойства Controls[I] и ControlsCount, при этом, необходимо проверить принадлежность компонента к конкретному классу при помощи is
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
|
![]() |
![]() |
![]() |
#5 | |
Подтвердите свой е-майл
Регистрация: 19.12.2010
Сообщений: 808
|
![]() Цитата:
Свойство PARENT выражает лишь визуальные отношения между компонентами. В то время как свойство OWNER управляет памятью, выделяемой под компонент. Когда компонент-собственник уничтожается (например, при помощи FREE), автоматически освобождаются не только его ресурсы, но и ресурсы его дочерних компонентов. А теперь подумайте, что будет при закрытии программы с ресурсами созданного вами компонента, который имеет собственника NIL - то есть никого. Он так и "зависнет" в памяти, поскольку он "сам по себе"... Не поняли ? А почему тогда строчите темы типа "Куда девается память после нескольких запусков моей программы ?"... |
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]() Цитата:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
тем не менее асмодей прав, лучше не забывать освобождать ресурсы, а то могут накапливатся утечки во время работы программы.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Смещение компонентов на форме | ProgDel | Общие вопросы Delphi | 3 | 24.10.2010 16:51 |
Программное создание БД | phpusr | БД в Delphi | 10 | 01.02.2010 07:41 |
Поиск компонентов на форме | Des | Общие вопросы Delphi | 10 | 29.04.2009 11:17 |
Программное копирование компонентов | Frishka | Компоненты Delphi | 0 | 23.02.2009 00:28 |
Выбор компонентов на форме | HPS | Общие вопросы Delphi | 6 | 28.01.2009 14:34 |