Fórum Criando Componentes Delphi - Dúvida #366597

01/12/2008

0

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

Responder

Posts

01/12/2008

Acacio

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


Procura aqui por editor de componente.


Responder

Gostei + 0

15/12/2008

Cruyahoo

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


Responder

Gostei + 0

15/12/2008

Cruyahoo

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;

.........


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar