Показать сообщение отдельно
  #4  
Старый 23.10.2010, 19:50
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

это класс на основе TPersistent
делается примерно так:
Код:
TMyProperty = class(TPersistent)
private
  FValue1: Integer;
  FValue2: Integer;
published
  property Value1: Boolean read GetValue1 write SetValue1;
  property Value2: Boolean read GetValue2 write SetValue2;
end;
когда я делал такой класс, то читать/записывать переменные напрямую у меня не получилось, пришлось делать для каждой переменной процедуры чтения/записи:
Код:
function TMyProperty.GetValue1: Integer;
begin
  Result := FValue1;
end;

procedure TMyProperty.SetValue1(Value: Integer);
begin
  FValue1 := Value;
end;
потом укажи этот класс в описании компонента:
Код:
TMyComponent = class(TGraphicControl)
private
   FMyProperty: TMyProperty;
published
   property MyProperty: TMyProperty read FMyProperty write FMyProperty;
end;
обязательно создай этот класс в конструкторе компонента:
Код:
constructor TMyComponent.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FMyProperty := TMyProperty.Create;
end;
и уничтожь его в деструкторе
Ответить с цитированием