Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Теряются свойства при закрытии формы в design mode


Автор: ilyalyu 16.8.2008, 15:31
Имеется свойство:
Код

  public
    property Data[Ind: string]: string read GetData write SetData stored True;


Для сохранения/чтения этого свойства в/из потока используется следующий механизм:
Код

procedure TMyComponent.DefineProperties(Filer: TFiler);
begin
  inherited;       
  Filer.DefineBinaryProperty('Data', GetDataStore, SetDataStore, True)
end;


Для редактирования данного свойства регистрируется редактор:
Код

procedure Register;
begin
  RegisterComponentEditor(TMyComponent, TMyComponentEditor)
end;


Проблема следующая. Если изменить компоненту TMyComponent с помощью TMyComponentEditor, а потом закрыть форму, на которой расположена данная компонета, то измененное значение компоненты не сохраняется и при повторном открытии формы востанавливаются старые значения. Если произвести на форме какие-то дополнительные изменения, то форма сохраняется и моя компонента тоже.

Я думаю, проблема в том, что нужно каким-то образом дать Delphi понять, что данные внутри моей компоненты изменились и соответственно Delphi должна сохранить форму перед закрытием. Вопрос - как это сделать.

Автор: Alexeis 29.8.2008, 10:02
Цитата(ilyalyu @  16.8.2008,  14:31 Найти цитируемый пост)
Я думаю, проблема в том, что нужно каким-то образом дать Delphi понять, что данные внутри моей компоненты изменились и соответственно Delphi должна сохранить форму перед закрытием. Вопрос - как это сделать. 

  У пропертей есть еще такой параметр как default определяющий нужно ли сохранять параметр или его значение дефолтно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)