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


Автор: <Spawn> 15.3.2005, 19:13
Изначально код компонента и редактора его свойства лежали в одном модуле, но затем для исключения кода редактора свойства (наследник TOrdinalProperty в DesignEditors) из конечного файла, я решил выложить его в отдельный пакет с директивой {$DESIGNONLY}(И не только этот редактор свойства - тут должны будут все редакторы такого типа лежать). Проблема в том, что свойство перестало работать, т.е. компонент отображает числовое значение в поле типа HKEY, а не список корневых ключей.

Вот его регистрация:

Код

type

  TRegistryKeysProperty = class(TOrdinalProperty)
  public
    function GetAttributes: TPropertyAttributes; override;
    function GetValue: string; override;
    procedure GetValues(Proc: TGetStrProc); override;
    procedure SetValue(const Value: string); override;
  end;

  procedure Register;

implementation

procedure Register;
begin
  RegisterPropertyEditor(TypeInfo(HKEY), TRegistrySerializer, 'RootKey',
    TRegistryKeysProperty);
end;



П.С. Как меня уже эти глюки достали... Перед этим я 2 часа бился и не мог понять почему изменения кода редактора свойств не оказывают влияния на его состояние в компоненте, пока случаяно не оказалось, что он меняется после изменения тела метода GetAttributes, но на изменения других методов ни как не реагирует до этого...

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