Конференция "Компоненты" » Вложенные компоненты [D7, WinXP]
 
  • Name (15.12.13 16:16) [0]
    Здравствуйте. Появилась следующая проблема. Создаю компонент, внутри которого есть поле - другой компонент. Это поле вывожу в раздел published как свойство - для того, чтобы оно выводилось в инспекторе объектов. Здесь оно выводится, но при его редактировании результаты редактирования отображаются только во время дизайна, когда же я запускаю программу, все остается по-старому.

    Проверил dfm после сохранения - так и есть, никаких изменений туда внесено не было, свойства этого компонента вообще не сохраняются. Это так и должно быть? В некоторых других компонентах (не своих) замечал такую же проблему. Почему такое происходит?
  • Cobalt © (15.12.13 17:46) [1]
    Погоди - ты хочешь связывать свой контрол с ЧУЖИМ как TQuery с TDatasource,
    или ты хочешь что-то типа TFont у TLabel?
  • Name (15.12.13 19:26) [2]
    Скорее второе. Вот, как пример, могу привести 'ComboBox' из стандартных компонентов. Там внутри есть компонент 'Button' - что-то подобное и у меня - компонент с кнопкой внутри. Вот, например, если изменить надпись на этой кнопке, то в режиме дизайна она меняется, а когда запускаешь программу, то остается той, что задана по-умолчанию. Настройки кнопки не сохраняются в dfm.
  • DimaBr © (16.12.13 17:50) [3]
    constructor TMyComp.Create(AOwner: TComponent);
    begin
    inheritede;
    fMySubComponent := TClassSubComponent.Create(self);
    fMySubComponent.SetSubComponent(true);
    end;

  • Name (16.12.13 22:50) [4]
    DimaBr, спасибо, это помогло.
  • Cobalt © (17.12.13 00:46) [5]
    Запишу себе в тетрадочку этот способ...
 
Конференция "Компоненты" » Вложенные компоненты [D7, WinXP]
Есть новые Нет новых   [118476   +38][b:0][p:0]