// ------------------------------------------------------------------
// Enviar Lote RPS Síncrono - Padrão BETHA
// ------------------------------------------------------------------
unit BETHAEnviarLoteRPSSincrono;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, ComObj, Dialogs;

type
  TBETHAEnviarLoteRPSSincrono = class
  public
    procedure Executar;
  end;

implementation

procedure TBETHAEnviarLoteRPSSincrono.Executar;
var
  oConfiguracao: OleVariant;
  oRecepcionarLoteRpsSincrono: OleVariant;
  oExceptionInterop: OleVariant;
  XML: string;
begin
  // Criar objeto para capturar exceção C#
  oExceptionInterop := CreateOleObject('Unimake.Exceptions.ThrowHelper');

  try

  except
    on E: Exception do
    begin
      ShowMessage('Erro ao enviar NFSe: ' + E.Message);
      ShowMessage(oExceptionInterop.GetMessage());
      ShowMessage(IntToStr(oExceptionInterop.GetErrorCode()));
    end;
  end;
end;

end.
