это класс на основе 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;
и уничтожь его в деструкторе