Ir para conteúdo
  • Cadastre-se

dev botao

onTransmissaoEventos


Ver Solução Respondido por Zottis,
  • Este tópico foi criado há 2460 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Estamos criando o componente em tempo de execução,

como faço para associar uma procedure ao método onTransmissaoEventos, copiei a procedure do exemplo(abaixo) e tentei associar assim:

FACBrESocial := TACBrESocial.Create(nil);

FACBrESocial.OnTransmissaoEventos  := ACBreSocial1TransmissaoEventos;   porem da erro.

procedure ACBreSocialTransmissaoEventos(const AXML: AnsiString; ATipo: TeSocialEventos);
begin

  gravaLog('Entrou na Transmissão de Eventos');

  case ATipo of
    eseEnvioLote:
      VXMLEnvioLote := AXML;
    eseRetornoLote:
      VXMLRetornoLote := AXML;
    eseEnvioConsulta:
      VXMLEnvioConsulta := AXML;
    eseRetornoConsulta:
      VXMLRetornoConsulta := AXML;
  end;
end;

 

Obrigado

Se quiser ir rápido, vá sozinho.
Se quiser ir longe, vá em grupo.
Provérbio Africano.

2024 ano XXVII

Postado

bom dia, e desculpe por não ter mencionado é Delphi.

Se quiser ir rápido, vá sozinho.
Se quiser ir longe, vá em grupo.
Provérbio Africano.

2024 ano XXVII

Postado
7 minutos atrás, Zottis disse:

bom dia, e desculpe por não ter mencionado é Delphi.

Atualiza seus fontes ai, se não me engano mudaram o parâmetro XML de String pra AnsiString... Lembro de ter visto um erro nesse evento, no programa exemplo, depois de ter feito update...

Depois foi corrigido no svn...

Att

Ricardo

Postado
Em 23/02/2018 at 16:19, Zottis disse:

Estamos criando o componente em tempo de execução,

como faço para associar uma procedure ao método onTransmissaoEventos, copiei a procedure do exemplo(abaixo) e tentei associar assim:

FACBrESocial := TACBrESocial.Create(nil);

FACBrESocial.OnTransmissaoEventos  := ACBreSocial1TransmissaoEventos;   porem da erro.

procedure ACBreSocialTransmissaoEventos(const AXML: AnsiString; ATipo: TeSocialEventos);
begin

  gravaLog('Entrou na Transmissão de Eventos');

  case ATipo of
    eseEnvioLote:
      VXMLEnvioLote := AXML;
    eseRetornoLote:
      VXMLRetornoLote := AXML;
    eseEnvioConsulta:
      VXMLEnvioConsulta := AXML;
    eseRetornoConsulta:
      VXMLRetornoConsulta := AXML;
  end;
end;

 

Obrigado

criar

    procedure Transmissao(const AXML: AnsiString; ATipo: TeSocialEventos);

Atribuir

ACBreSocial1.OnTransmissaoEventos := Transmissao;

 

procedimento

procedure TfrmeSocial.Transmissao(const AXML: AnsiString; ATipo: TeSocialEventos);
begin
  case ATipo of
    eseEnvioLote: Memo_Envio.Lines.Text := AXML;
    eseRetornoLote: Memo_Retorno.Lines.Text := AXML;
    eseEnvioConsulta: Memo_Envio.Lines.Text := AXML;
    eseRetornoConsulta: Memo_Retorno.Lines.Text := AXML;

   end;

end;

 

 

  • Solution
Postado

Caso alguém precise, consegui da seguinte forma:

criar uma classe e jogar o método(procedure) dentro dela na parte publica e depois, criar um objeto dessa classe, instancia-la e depois declarar .

 type
 TTransmiteEventoZ = class
   public
      procedure TransmissaoEventos(const AXML: AnsiString; ATipo: TeSocialEventos);
   published

   private
 end;
 

procedure TTransmiteEventoZ.TransmissaoEventos(const AXML: AnsiString; ATipo: TeSocialEventos);
begin

  case ATipo of
    eseEnvioLote:
      VXMLEnvioLote := AXML;
    eseRetornoLote:
      VXMLRetornoLote := AXML;
    eseEnvioConsulta:
      VXMLEnvioConsulta := AXML;
    eseRetornoConsulta:
      VXMLRetornoConsulta := AXML;
  end;
end;
 

var MeuEvento      : TTransmiteEventoZ;

begin

.....

MeuEvento    := TTransmiteEventoZ.Create;

FACBrESocial.OnTransmissaoEventos  := MeuEvento.TransmissaoEventos;

 

Se quiser ir rápido, vá sozinho.
Se quiser ir longe, vá em grupo.
Provérbio Africano.

2024 ano XXVII

  • Este tópico foi criado há 2460 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.