Jump to content
Fórum Script Brasil
  • 0

sub-property não aparece no Object Inspector


rpahahz

Question

Olá!

Não consigo fazer aparecer sub-propertys no Object Inspector.

Estas é o código:

TNestedProp = class (TPersistent)

private

FIntegerProp : Integer;

FStringProp : String;

public

constructor Create (AOwner : TComponent);

destructor Destroy; override;

procedure Assign (Source : TPersistent); override;

published

property IntegerProp : Integer read FIntegerProp write FIntegerProp;

property StringProp : String read FStringProp write FStringProp;

end;

TMainProp = class(TComponent)

private

FNestedProp : TNestedProp;

protected

procedure SetNestedProp (const Value : TNestedProp);

public

constructor Create (AOwner : TComponent); override;

destructor Destroy; override;

published

property NestedProp : TNestedProp read FNestedProp write SetNestedProp;

end;

procedure Register;

implementation

procedure TNestedProp.Assign (Source: TPersistent);

begin

if Source is TNestedProp then

with TNestedProp (Source) do begin

Self.IntegerProp := IntegerProp;

Self.StringProp := StringProp;

end else

inherited; //raises an exception

end;

procedure Register;

begin

RegisterComponents ('ComponentsStudy', [TMainProp]);

end;

constructor TNestedProp.Create(AOwner: TComponent);

begin

inherited;

end;

destructor TNestedProp.Destroy;

begin

inherited;

end;

{ TMainProp }

constructor TMainProp.Create (AOwner: TComponent);

begin

inherited;

end;

destructor TMainProp.Destroy;

begin

inherited;

end;

procedure TMainProp.SetNestedProp (const Value: TNestedProp);

begin

end;

Aparece o [+] o botão à esquerda da propriedade, mas ao clicar vira [-] o botão e não mostra as sub-propertys

Agradeço qualquer ajuda.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0
Olá Jonas, obrigado pela resposta!

Esse exemplo já tentei tal qual está no site.

Acontece que quando clica no [+], não aparecem as sub-propriedades.

Trabalho com a versão 2010 Pro. Será que é alguma limitação da versão?

Grato.

não tenho certeza se isso é limitação de versão, pelo menos na versão Enterprise não acontece isso

refaça o seu código do zero baseando-se no exemplo do link que te passei...

ou veja algum tutorial sobre a criação de componentes no delphi

https://docs.google.com/document/pub?id=1pe...ve8FvJk_b4iOLI0

abraço

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.5k
×
×
  • Create New...