Dúvida com editor de propriedades
09/12/2009
0
Saudações pessoal!
Estou com uma pequena dúvida sobre um componente que estou desenvolvendo, vamso ver se alguém consegue me ajudar.
na estrutura do componente eu tenheo 3 classes:
TBemaCashTool = class (TComponent)
TBemaCashToolCollection = class (TCollection)
TBemaCashToolCollectionItem = class (TCollectionItem)
o caso é o seguinte, em TBemaCashToolCollectionItem tenho uma propriedade string (CampoOrigem) que deverá me mostrar uma lista de campos disponiveis para seleção de um clientdataset que é por sua vez propriedade de TBemaCashTool mas o problema é que ao implementar o método GetValues me deparei com um problema conforme indicado abaixo, não consigo ter acesso a propriedade ClientDataSet para coletar a lista dos campos.
procedure TShowFieldEditor.GetValues(Proc: TGetStrProc);
Var BemacashTool : TBemaCashToolCollectionitem;
i : integer;
begin
BemacashTool:= GetComponent(0) as TBemaCashToolCollectionitem;
//-- aqui começa os problemas
if Assigned(BemacashTool.ClientDataSet) then
begin
If BemacashTool.ClientDataSet.Fields.Count > 1 then
For i:= 0 to BemacashTool.ClientDataSet.Fields.Count -1 do
begin
Proc(BemacashTool.ClientDataSet.Fields[i].FieldName);
end;
end;
end;
//--- uso esta linha para registrar o editor
RegisterPropertyEditor(TypeInfo(string), TBemaCashToolCollectionItem, 'DataField', TShowFieldEditor);
o que poderia ser feito para que eu consiga ter acesso ao Clientdataset?
agradeço caso possa me dar uma dica.
Grato,
Brener Bento Leão
Estou com uma pequena dúvida sobre um componente que estou desenvolvendo, vamso ver se alguém consegue me ajudar.
na estrutura do componente eu tenheo 3 classes:
TBemaCashTool = class (TComponent)
TBemaCashToolCollection = class (TCollection)
TBemaCashToolCollectionItem = class (TCollectionItem)
o caso é o seguinte, em TBemaCashToolCollectionItem tenho uma propriedade string (CampoOrigem) que deverá me mostrar uma lista de campos disponiveis para seleção de um clientdataset que é por sua vez propriedade de TBemaCashTool mas o problema é que ao implementar o método GetValues me deparei com um problema conforme indicado abaixo, não consigo ter acesso a propriedade ClientDataSet para coletar a lista dos campos.
procedure TShowFieldEditor.GetValues(Proc: TGetStrProc);
Var BemacashTool : TBemaCashToolCollectionitem;
i : integer;
begin
BemacashTool:= GetComponent(0) as TBemaCashToolCollectionitem;
//-- aqui começa os problemas
if Assigned(BemacashTool.ClientDataSet) then
begin
If BemacashTool.ClientDataSet.Fields.Count > 1 then
For i:= 0 to BemacashTool.ClientDataSet.Fields.Count -1 do
begin
Proc(BemacashTool.ClientDataSet.Fields[i].FieldName);
end;
end;
end;
//--- uso esta linha para registrar o editor
RegisterPropertyEditor(TypeInfo(string), TBemaCashToolCollectionItem, 'DataField', TShowFieldEditor);
o que poderia ser feito para que eu consiga ter acesso ao Clientdataset?
agradeço caso possa me dar uma dica.
Grato,
Brener Bento Leão
Brener Leão
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)