Конференция "Компоненты" » Не сохраняется Color в наследнике TCustomControl
 
  • atruhin © (08.11.07 13:27) [0]
    В наследнике TCustomControl не сохраняется свойство Color в dfm.
    Пробовал:
     property        Color stored true;
    не помогает.
    В TControl свойство определено:
      property Color: TColor read FColor write SetColor stored IsColorStored default clWindow;

    function TControl.IsColorStored: Boolean;
    begin
     Result := not ParentColor;
    end;
    Но у меня не сохраняется не зависимо от установки ParentColor.
  • DimaBr © (08.11.07 14:52) [1]
    Покажите код. Свойство должно быть PUBLISHED или сохраняться вручную через DefineProperties
  • atruhin © (08.11.07 15:06) [2]
    TMyCustomMemo = class(TCustomControl)
    ...
    public
     property        Color default clWindow;
    end;

    TMyMemo       = class(TMyCustomMemo)
       published
           property        Anchors;
           property        Align;
           property        Color
       ....
    end;
    И все. Естественно в конструкторе TMyCustomMemo, инициализирую Color := clWindow;
  • DimaBr © (08.11.07 15:48) [3]
    Что то вы темните, TPanel тоже от TCustomControl и Color прекрасно сохраняется

    TCustomPanel = class(TCustomControl)
    ...
     protected
       property Color default clBtnFace;
    ...
     end;

    TPanel = class(TCustomPanel)
    ...
     published
       property Color;
    ...
    end;

  • Reindeer Moss Eater © (08.11.07 16:17) [4]
    Загружен проект и в нем новый компонент.
    Компонент работает не так и его код правится.
    bpl с новым компонентом не пересобирается.
    В иде загружен старый пакет в котором все еще старый код нового компонента.
  • atruhin © (08.11.07 17:28) [5]
    Нда. Перепутал ParentBackground, ParentColor и полезло.
    Теперь получается другое, clWindow значение по умолчанию, естественно не сохраняется,
    в конструкторе я его инициализирую, а где то дальше в момент загрузки/создания, меняется цвет.
    Причем не зависимо от установок ParentBackground.
    Спасибо за помощь.
  • atruhin © (08.11.07 17:48) [6]
    Все спасибо разобрался проблемма была в ParentColor, ошибочка.
    На одном уровне иерархии устанавливался в false, а выше в true.


    > [3] DimaBr ©   (08.11.07 15:48)

    Большое спасибо.
 
Конференция "Компоненты" » Не сохраняется Color в наследнике TCustomControl
Есть новые Нет новых   [119142   +32][b:0][p:0.001]