Tenho o form genérico (frmBasico_ComGrid) para pesquisa, com um DBGrid, 
obviamente ligado à um DataSource, que por sua vez está ligado à um 
ClientDataSet (mas que muda em cada formulário filho: cdsclientes, 
cdsparcelas, cdscidades, cdsprofissoes, etc).
Estou tentando manipular o evento DBGrid1TitleClick, no formulário básico 
para ordenação pelas colunas, mas preciso saber o nome do CDS que está sendo 
manipulado no momento da ordenação, então fiz de acordo com o código abaixo. 
Compila normalmente, mas dá erro em tempo de execução, dizendo que o nome do 
cds não é válido, e a mensagem de erro mostra o nome do CDS de forma 
correta, só que entre aspas duplas.
OBS: 'dm.' -> é o nome do datamodule.
Se alguem puder me orientar onde estou errando, ou apontar outro caminho, 
antecipadamente meus agradecimentos.

procedure TfrmBasico_ComGrid.DBGrid1TitleClick(Column: TColumn);
Var
  cds:TClientDataSet;
  str:TComponentName;
begin
   CDS := TClientDataSet.Create(Self);
   str:=DBGrid1.DataSource.DataSet.Name;
   cds.Name:= 'dm.' + str;
  if Assigned(OldColumn) then
     OldColumn.Title.Color:=DBGrid1.FixedColor;
   cds.IndexFieldNames:=Column.FieldName;
   Column.Title.Color:=clRed;
   OldColumn:=Column;
end;

                                                      Atenciosamente

                                                    waldir silva 

Responder a