Ao fechar o ClientDataset retorna erro como fechado

Delphi

25/09/2014

Bom dia, estou com um problema que está me tirando o sono. Carrego um SQL num DBgrid e com um DoubleClick abre um ClientDataset pra visualizar e editar os dados.

No Create do form está assim...
DtmAssistidos:= TDtmAssistidos.Create(self); 
DtmAssistidos.cdsAssistidos.FetchParams; 
DtmAssistidos.cdsAssistidos.Open; 



no DoubleClik do DBGrid
DtmAssistidos.cdsAssistidos.Close; 
DtmAssistidos.qryAssistidos.SQL.Clear; 
DtmAssistidos.qryAssistidos.SQL.Add(cmdSql); 
DtmAssistidos.qryAssistidos.Open; 
DtmAssistidos.cdsAssistidos.Open; 


Sempre utilizei isso, recentemente mudei pro Rad Studio XE6, ao clicar pra abrir o registro a execução pára no Close pra limpar o SQL com a mensagem de erro abaixo. Já coloquei o cds pra abrir uma linha antes do Close e mesmo assim dá a mesma mensagem.

O Erro: Cannot perform this operation on a closed dataset.

No debug pára em uma unit interna Vcl.stdControls
procedure TWinControl.MainWndProc(var Message: TMessage); 
begin 
  try 
    try 
      WindowProc(Message); 
    finally 
      FreeDeviceContexts; 
      FreeMemoryContexts; 
    end; 
  except 
    Application.HandleException(Self); //Congela aqui e dá o erro 
  end; 
end;


Preciso de ajuda, quero migrar meu desenvolvimento e aperfeiçoar mas me deparei com essa situação. Desde já agradeço qualquer ajuda.
Maurino Filho

Maurino Filho

Curtidas 0
POSTAR