.dpr
library %0:s;

uses
  nMem,
  SysUtils,
  Classes,
  npqTypes,
  npqClass,
  nrwClass,
  nrwBaseDll,
  nrwBaseDllReg;

{.$R *.res}
type

  T%0:s = class(TnrwBaseDll)
  private
    
  public
    class function Versao: String; override;
  
    procedure ImprimirInterno; override;

    procedure DoParamChange(Sender: TObject; _AParam: TnpqParamItem); override;
    procedure DoParamEnter(Sender: TObject; _AParam: TnpqParamItem); override;
    procedure DoParamExit(Sender: TObject; _AParam: TnpqParamItem); override;
  end;

{ T%0:s }

class function T%0:s.Versao: String;
begin
  // Quando vc alterar a dll obrigatóriamente deve alterar a esta versão para a versao atual de liberação.
  result := '[versao: 1.0.0.0]';
end;

procedure T%0:s.ImprimirInterno;
var
  ARegistro,
  ATotalRegistro: Integer;
begin
  if Query.isEmpty then
    Exit;
  
  
     
  try
    
  
    ARegistro := 0;
    ATotalRegistro := Query.RecordCount;
  
    Query.First;
  
    while not Query.Eof do
    begin
      
    
      inc(ARegistro);
      Report.CSLShowProgress(ARegistro, ATotalRegistro);
      Query.Next;          
    end;
    
  finally
    
  end;
end;

procedure T%0:s.DoParamChange(Sender: TObject; _AParam: TnpqParamItem); 
begin
  { Exemplo:
  if CompareText(_AParam.Alias, 'pParametro') = 0 then
  begin
    ...
  end;}
end;

procedure T%0:s.DoParamEnter(Sender: TObject; _AParam: TnpqParamItem); 
begin

end;

procedure T%0:s.DoParamExit(Sender: TObject; _AParam: TnpqParamItem); 
begin

end;

begin
  FClassDll := T%0:s;
end.
