Конференция "Компоненты" » свойство-наследник TCollection [D6, WinXP]
 
  • ыы (26.12.07 12:19) [0]
    Есть примерно такой компонент:
    TMy = class;

     TSubMyList = class(TCollection)
     end;
     TSubMy = class(TCollectionItem)
     private
       FMy: TMy;
     published
       property My: TMy read FMy write FMy;
     end;
     TMy = class(TComponent)
     private
       FSubMy: TSubMyList;
     published
       property SubMy:TSubMyList read FSubMy;
     end;


    Компонент лежит на форме и в SubMy хранится непустой список подчинённых компонентов. У формы есть форма-наследник. У компонента на форме-наследнике список подчинённых компонентов пуст.

    Почему? Как это преодолеть?
  • ыы (26.12.07 12:33) [1]

    > хранится непустой список подчинённых компонентов
    Ага, погорячился... Нифига он пока не сохраняется, так что всё закономерно. Штудирую Конопку...
  • Сергей М. © (26.12.07 12:39) [2]

    > Нифига он пока не сохраняется


    Конечно не сохраняется. Для этого еще нужно ручки приложить.

    См. TPersistent.DefineProperties, DefineProperty
  • ыы (26.12.07 12:52) [3]
    Всем спасибо, все свободны. Конечно же, DefineProperties... ;-)
  • DimaBr © (26.12.07 14:04) [4]
    Для сохраненния вашей коллекции в ресурс, необходимо:
    1. Иметь метод write (пусть даже пустой)
    property SubMy:TSubMyList read FSubMy write SetSubMy;


    2. Сохранять вручную через DefineProperties
  • ыы (26.12.07 15:03) [5]

    > property SubMy:TSubMyList read FSubMy write SetSubMy;
    Да, с этим тоже разобрался.
 
Конференция "Компоненты" » свойство-наследник TCollection [D6, WinXP]
Есть новые Нет новых   [120334   +125][b:0][p:0.001]