// ------------------------------------------------------------------
// Enviar evento de cancelamento do MDFe
// ------------------------------------------------------------------
unit EnviarEventoCancelamentoMDFe;

{$mode ObjFPC}{$H+}

interface

uses
  Classes, SysUtils, ComObj, Dialogs, Variants;

type
  TEnviarEventoCancelamentoMDFe = class
  public
    procedure Executar;
  end;

implementation

procedure TEnviarEventoCancelamentoMDFe.Executar;
var
  oConfiguracao, oEventoMDFe: olevariant;
  oRecepcaoEvento: olevariant;
  oExceptionInterop: olevariant;
  eventoAssinado: string;
begin
  // Criar configuração básica para consumir o serviço

  // Criar o XML

  // Mostrar informações do evento

  // Criar objeto para exceção C#
  oExceptionInterop := CreateOleObject('Unimake.Exceptions.ThrowHelper');

  try

  except
    on E: Exception do
    begin
      ShowMessage('Erro Lazarus: ' + E.Message);
      ShowMessage('CSHARP - ErrorCode: ' + IntToStr(oExceptionInterop.GetErrorCode));
      ShowMessage('CSHARP - Message: ' + oExceptionInterop.GetMessage);
    end;
  end;
end;

end.
