Componentes Dentro de outros Componentes
Olá pessoal...
Gostaria de saber se alguem pode me ajudar quanto a criação de componentes internos a outros componentes.
Estou tentando colocar um SimpleDataSet dentro de um componente q estou fazendo mas não consigo fazer as propriedades do SimpleDataSet aparecerem no object inspector.
Estou fazendo da seguinte maneira!
Declaro o campo FDataSet do tipo TSimpleDataSet e uma propriedade do mesmo tipo...
No Constructor do meu Componente tenho a seguinte codificação para a criação do SimpleDataSet...
Constructor Create(AOwner: TComponent);
begin
FDataSet := TSimpleDataSet.Create(Self);
with FDataSet do
begin
SetSubComponent(True);
Name := ´InternalDataSet´;
end;
end;
Fazendo dessa maneira não consigo que as propriedades e eventos do meu SimpleDataSet apareçam no object inspector...
Alguém saberia me responder onde estou errando?
Agradeço desde já...
Gostaria de saber se alguem pode me ajudar quanto a criação de componentes internos a outros componentes.
Estou tentando colocar um SimpleDataSet dentro de um componente q estou fazendo mas não consigo fazer as propriedades do SimpleDataSet aparecerem no object inspector.
Estou fazendo da seguinte maneira!
Declaro o campo FDataSet do tipo TSimpleDataSet e uma propriedade do mesmo tipo...
No Constructor do meu Componente tenho a seguinte codificação para a criação do SimpleDataSet...
Constructor Create(AOwner: TComponent);
begin
FDataSet := TSimpleDataSet.Create(Self);
with FDataSet do
begin
SetSubComponent(True);
Name := ´InternalDataSet´;
end;
end;
Fazendo dessa maneira não consigo que as propriedades e eventos do meu SimpleDataSet apareçam no object inspector...
Alguém saberia me responder onde estou errando?
Agradeço desde já...
Tiago Malveira
Curtidas 0
Respostas
Adriano Santos
30/11/2005
Pode colocar mais código fonte? Tô achando que é a forma que declarou o componente interno. Precisa declarar a classe dele se nao me engano.
GOSTEI 0
Tiago Malveira
30/11/2005
Eis a classe onde está o problema...
TCliente = class(TComponent)
private
FDataSet: TSimpleDataSet;
FNome: string;
FFone: string;
FOnConvertError: TNotifyEvent;
public
constructor Create(AOwner: TComponent);
published
property Nome: string read FNome write FNome;
property Fone: string read FFone write FFone;
property DataSet: TSimpleDataSet read FDataSet write FDataSet;
property OnConvertError: TNotifyEvent read FOnConvertError write FOnConvertError;
end;
O constructor eh o mesmo q postei anteriormente....
TCliente = class(TComponent)
private
FDataSet: TSimpleDataSet;
FNome: string;
FFone: string;
FOnConvertError: TNotifyEvent;
public
constructor Create(AOwner: TComponent);
published
property Nome: string read FNome write FNome;
property Fone: string read FFone write FFone;
property DataSet: TSimpleDataSet read FDataSet write FDataSet;
property OnConvertError: TNotifyEvent read FOnConvertError write FOnConvertError;
end;
O constructor eh o mesmo q postei anteriormente....
GOSTEI 0
Adriano Santos
30/11/2005
[quote:2dcb043e68=´Tiago Malveira´]Eis a classe onde está o problema...
TCliente = class(TComponent)
private
FDataSet: TSimpleDataSet;
FNome: string;
FFone: string;
FOnConvertError: TNotifyEvent;
public
constructor Create(AOwner: TComponent);
published
property Nome: string read FNome write FNome;
property Fone: string read FFone write FFone;
property DataSet: TSimpleDataSet read FDataSet write FDataSet;
property OnConvertError: TNotifyEvent read FOnConvertError write FOnConvertError;
end;
O constructor eh o mesmo q postei anteriormente....[/quote:2dcb043e68]
Tiago, desculpe-me a demora...tah embaçado aki.
Meu, tah certo seu componente. O que vc quer exatamente?
TCliente = class(TComponent)
private
FDataSet: TSimpleDataSet;
FNome: string;
FFone: string;
FOnConvertError: TNotifyEvent;
public
constructor Create(AOwner: TComponent);
published
property Nome: string read FNome write FNome;
property Fone: string read FFone write FFone;
property DataSet: TSimpleDataSet read FDataSet write FDataSet;
property OnConvertError: TNotifyEvent read FOnConvertError write FOnConvertError;
end;
O constructor eh o mesmo q postei anteriormente....[/quote:2dcb043e68]
Tiago, desculpe-me a demora...tah embaçado aki.
Meu, tah certo seu componente. O que vc quer exatamente?
GOSTEI 0
Uildenei
30/11/2005
pelo que entendi ... vc estav endo somente o nome da propriedade .. e clica no ´+´ para expandir a arvore e nao aparece nada ..
se for isso .. eh simples: no metodo Constructor da classe principal (onde vc esta inserindo a propriedade) antes do Inherited faça a criação da classe filha.
algo assim:
constructor .... create..
begin
FDataSet:=TClasse.Create(...);
inherited;
codigo restante.....
end;
se for isso .. eh simples: no metodo Constructor da classe principal (onde vc esta inserindo a propriedade) antes do Inherited faça a criação da classe filha.
algo assim:
constructor .... create..
begin
FDataSet:=TClasse.Create(...);
inherited;
codigo restante.....
end;
GOSTEI 0