Fechar ClientDatasets

Delphi

24/09/2008

Como faço para fechar varios clientdataset dentro de um datamodule, tipo fazer um laço e sair fechando todos que estiverem dentro do datamodule ?

Abs


Felipeiw

Felipeiw

Curtidas 0

Respostas

Luciano.lirio

Luciano.lirio

24/09/2008

felipeiw,

tenta usar o código abaixo.

unit Unit2;

interface

uses
  SysUtils, Classes, DB, DBClient;

type
  TModuloDados = class(TDataModule)
    ClientDataSet1: TClientDataSet;
    ClientDataSet2: TClientDataSet;
  private

  public
    procedure FecharClientDataSets;
  end;

var
  ModuloDados: TModuloDados;

implementation

{$R *.dfm}

procedure TModuloDados.FecharClientDataSets;
var
  Cds: TClientDataSet;
  I: Integer;
begin
  for I := 0 to ComponentCount-1 do
    if Components[I] is TClientDataSet then
    begin
      Cds := TClientDataSet(Components[I]);
      if Cds.Active then
        Cds.Active := False;
    end;
end;

end.



GOSTEI 0
Paullsoftware

Paullsoftware

24/09/2008

simplificando o código...

 for I := 0 to ComponentCount - 1 do
  if (Components[i] is TClientDataSet) then
    TClientDataSet(Components[i]).Close;
espero ter ajudado! :wink:


GOSTEI 0
POSTAR