Criando Componentes Delphi - Dúvida

Delphi

01/12/2008

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,


Cruyahoo

Cruyahoo

Curtidas 0

Respostas

Acacio

Acacio

01/12/2008

Ola,
Tens que criar um editor de propriedade para conseguir fazer isso.


Procura aqui por editor de componente.


GOSTEI 0
Cruyahoo

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


GOSTEI 0
Cruyahoo

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;

.........


GOSTEI 0
POSTAR