Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / коллекция по умолчанию при создании компонента / 5 сообщений из 5, страница 1 из 1
24.01.2020, 14:46
    #39918399
Ghost Writer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
коллекция по умолчанию при создании компонента
В компоненте используется потомок TCollection... Хочу сделать следующее:
При первом создании (когда кидаем компонент на форму) чтобы однократно создались несколько пунктов "по умолчанию".
Далее, чтобы их можно было удалять, добавлять новые и т.д. и чтобы удаленные при следующем открытии проекта не создались заново.

Где это правильно сделать ? в конструкторе компонента / в конструкторе коллекции / в Loaded ? И как избежать повторного создания пунктов, если эти пункты уже есть в DFM ?
...
Рейтинг: 0 / 0
24.01.2020, 15:01
    #39918404
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
коллекция по умолчанию при создании компонента
Ghost Writer
Где это правильно сделать ? в конструкторе компонента / в конструкторе коллекции / в Loaded ?

Если Вы хотите, чтобы пункты создавались при кидании на форму, Loaded не годится.

Ghost Writer
И как избежать повторного создания пунктов, если эти пункты уже есть в DFM ?

Например, так:

  • В конструкторе компонента создаётся и заполняется дефолтами коллекция
  • При считывании из dfm предыдущая коллекция уничтожается и создаётся новая, заполняемая прочитанным.
...
Рейтинг: 0 / 0
24.01.2020, 15:11
    #39918408
Ghost Writer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
коллекция по умолчанию при создании компонента
softwarer
[li]В конструкторе компонента создаётся и заполняется дефолтами коллекция
  • При считывании из dfm предыдущая коллекция уничтожается и создаётся новая, заполняемая прочитанным.
Сейчас у меня так и сделано. Но есть небольшая проблема: если открыть проект, в котором используется компонент, ничего не делать, закрыть, то предлагается сохранить изменения.
Если в конструкторе закомментировать созданий элементов коллекции, то всё нормально.
...
Рейтинг: 0 / 0
24.01.2020, 15:16
    #39918411
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
коллекция по умолчанию при создании компонента
Ghost Writer,

это довольно странно. Я не пользуюсь TCollection и плохо помню детали работы с ними, но это как-то совсем необычно. Попробуйте сделать и выложить минимальный воспроизводимый пример, по крайней мере сможем проверить на разных дельфах и покрутить у себя.
...
Рейтинг: 0 / 0
24.01.2020, 16:18
    #39918434
Ghost Writer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
коллекция по умолчанию при создании компонента
softwarer
это как-то совсем необычно
Спасибо! Действительно, я просто немножко ошибся в коде. Потерял букву F в одном месте ))
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / коллекция по умолчанию при создании компонента / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]