Criando Componentes Delphi - Dúvida
Estou criando um componente que precisa ter nas propriedades
publicadas, as seguintes info.:
DataSource : Abre combo para escolha do Data Source que a Table esta referenciando.
Fields: Abre combo para selecionar o campo da Table que desejo.
Bem , pelo método
puslished
propertyes DatSource : TDataSource read fDS write SetDS
já funciona normalmente a selecao do DataSource, mas para
selecao do campo de dados Field , nao estou conseguindo nada
Alguem saberia por gentileza.
abrigado,
publicadas, as seguintes info.:
DataSource : Abre combo para escolha do Data Source que a Table esta referenciando.
Fields: Abre combo para selecionar o campo da Table que desejo.
Bem , pelo método
puslished
propertyes DatSource : TDataSource read fDS write SetDS
já funciona normalmente a selecao do DataSource, mas para
selecao do campo de dados Field , nao estou conseguindo nada
Alguem saberia por gentileza.
abrigado,
Cruyahoo
Curtidas 0
Respostas
Acacio
01/12/2008
Ola,
Tens que criar um editor de propriedade para conseguir fazer isso.
Procura aqui por editor de componente.
Tens que criar um editor de propriedade para conseguir fazer isso.
Procura aqui por editor de componente.
GOSTEI 0
Cruyahoo
01/12/2008
Não achei nada a nao ser exemplos que já obtive exito , para resultar
a escolha do DataSource no componente que construo. Mas nada para
selecionar o campo de uma table utilizada pelo componente.
Parece que o tipo de declaração eh bem diferente, de quando se declara
TDataSource. Não sei se para campos declaro TFild, Tfields, TStringFields
sei lah tah uma confusão que nao consigo selecionar.
Se ainda alguem puder me ajudar agradeço .
ateh
a escolha do DataSource no componente que construo. Mas nada para
selecionar o campo de uma table utilizada pelo componente.
Parece que o tipo de declaração eh bem diferente, de quando se declara
TDataSource. Não sei se para campos declaro TFild, Tfields, TStringFields
sei lah tah uma confusão que nao consigo selecionar.
Se ainda alguem puder me ajudar agradeço .
ateh
GOSTEI 0
Cruyahoo
01/12/2008
FDS: TDataSource;//Ok ja esta aparecendo
FSenhaAlt: String;
FcampoSenha : Tfield;// Errado, aparece tudo que eh campo do projeto. so poderia aparecer os campos que se refere ao DS selecionado.
FCor: Tcolor;// Ok seleciona
FTITULO: String; Ok Titula.
procedure SetDS(Value: TDataSource);
procedure SetCampoSenha(Value:Tfield);//procedures de selecao
protected
public
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
function SenhaOk:boolean;//Chamadora inicial principal.Equivalente a Execute
published
property DatSource : TDataSource read FDS write SetDS;
property SenhaAlternat : String read FSenhaAlt write FSenhaAlt;
property Titulo : String read FTITULO write FTITULO;
property Cor : Tcolor read FCor write FCor;
property CampoSenha : Tfield read FcampoSenha write SetCampoSenha;
end;
.........
{Ok seleciona}
procedure Tsenha.SetDS(value: TDataSource);
begin
if value <> fDS then fDS := value;
end;
{Abaixo Errado, aparece tudo que eh campo do projeto. so poderia aparecer os campos que se refere ao DS selecionado.}
procedure Tsenha.SetCampoSenha(Value:Tfield);
begin
if value <> FcampoSenha then FcampoSenha := value;
end;
.........
FSenhaAlt: String;
FcampoSenha : Tfield;// Errado, aparece tudo que eh campo do projeto. so poderia aparecer os campos que se refere ao DS selecionado.
FCor: Tcolor;// Ok seleciona
FTITULO: String; Ok Titula.
procedure SetDS(Value: TDataSource);
procedure SetCampoSenha(Value:Tfield);//procedures de selecao
protected
public
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
function SenhaOk:boolean;//Chamadora inicial principal.Equivalente a Execute
published
property DatSource : TDataSource read FDS write SetDS;
property SenhaAlternat : String read FSenhaAlt write FSenhaAlt;
property Titulo : String read FTITULO write FTITULO;
property Cor : Tcolor read FCor write FCor;
property CampoSenha : Tfield read FcampoSenha write SetCampoSenha;
end;
.........
{Ok seleciona}
procedure Tsenha.SetDS(value: TDataSource);
begin
if value <> fDS then fDS := value;
end;
{Abaixo Errado, aparece tudo que eh campo do projeto. so poderia aparecer os campos que se refere ao DS selecionado.}
procedure Tsenha.SetCampoSenha(Value:Tfield);
begin
if value <> FcampoSenha then FcampoSenha := value;
end;
.........
GOSTEI 0