На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Обязательно выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Этот раздел предназначен для вопросов, посвященных разработке компонентов, а также для тестирования собственных бесплатных компонентов с открытым исходным кодом.

Здесь запрещается:
1. Размещать ссылки на какие-либо коммерческие компоненты, реализующие требуемую функциональность.
2. Обсуждать и тестировать коммерческие компоненты или компоненты с закрытым кодом.
3. Давать ссылки на сайты с исходным кодом компонентов. Все тестируемые исходные коды должы быть размещены на сайте ИСХОДНИКИ.RU.
Модераторы: Rouse_, DimaBr
  
> Компонент с редактором , Не сохраняются дочерние компоненты
    Добрый день.

    Пытаюсь разобраться в построении компонента с редактором, аналогичному TActionList.
    Файл с полными исходниками прилагаю.

    Для удобства компонент и редактор положил в один модуль.

    После добавления Item'а с помощью редактора он появляется в исходнике и dfm файле. Однако при сохранении из dfm файла загадочным образом исчезает.
    Эффект также можно проверить нажав трижды Alt+F12.

    В чем может быть проблема?
    Прикреплённый файлПрикреплённый файлtestComponent.rar (3.35 Кбайт, скачиваний: 118)
      Начало хорошее, правда если вы списывали с TActionList, то упустили одну небольшую вещь
      ExpandedWrap disabled
          TTestItem = class(TComponent)
        ...
            property TestComponent: TTestComponent read fTestComponent write SetTestComponent;
          end;
         
        procedure TTestItem.SetTestComponent(const Value: TTestComponent);
        begin
          if Value <> TestComponent then begin
            if TestComponent <> nil then TestComponent.RemoveItem(Self);
            if Value <> nil then Value.AddItem(Self);
          end;
        end;
        Огромное спасибо.
          И ещё одно замечание. Для удобства регистрацию редактора нужно положить в модуль с редактором, а не в модуль с компонентом.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0253 ]   [ 16 queries used ]   [ Generated: 3.05.24, 12:24 GMT ]