Ir para conteúdo
Fórum Script Brasil
  • 0

sub-property não aparece no Object Inspector


rpahahz

Pergunta

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 para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...