Ir para conteúdo
  • Cadastre-se

dev botao

Problema inclusão de intervalos na S-1050


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

Recommended Posts

  • Membros Pro

Bom dia a todos!

Estava incluindo algumas tabelas de horários com 2 intervalos , e estava dando o seguinte erro:

First chance exception at $750F08F2. Exception class EArgumentOutOfRangeException with message 'Argument out of range'. 

Como não detectei nenhum problema na carga dos eventos, tentei alterar a procedure pcesS1050.TEvtTabHorTur.GerarHorarioIntervalo , conforme abaixo, e parou de dar o erro. Alguém já passou por isso, ou eu fiz alguma coisa errada?

procedure TEvtTabHorTur.GerarHorarioIntervalo;
var
  i: Integer;
  objHorarioIntervalo: THorarioIntervaloCollectionItem;
begin
  if InfoHorContratual.dadosHorContratual.horarioIntervalo.Count > 99 then
    Gerador.wAlerta('', 'horarioIntervalo', 'Lista de Horário de Intervalo', ERR_MSG_MAIOR_MAXIMO + '99');

  for i := 0 to InfoHorContratual.dadosHorContratual.horarioIntervalo.Count - 1 do
  begin
    objHorarioIntervalo := InfoHorContratual.dadosHorContratual.horarioIntervalo.Items[i];
    //try
      Gerador.wGrupo('horarioIntervalo');

      Gerador.wCampo(tcStr, '', 'tpInterv',  1, 1, 1, eSTpIntervaloToStr(objHorarioIntervalo.tpInterv));
      Gerador.wCampo(tcStr, '', 'durInterv', 1, 3, 1, objHorarioIntervalo.durInterv);

      if (objHorarioIntervalo.tpInterv = tinHorarioFixo) then
      begin
        Gerador.wCampo(tcStr, '', 'iniInterv',  4, 4, 1, objHorarioIntervalo.iniInterv);
        Gerador.wCampo(tcStr, '', 'termInterv', 4, 4, 1, objHorarioIntervalo.termInterv);
      end;

      Gerador.wGrupo('/horarioIntervalo');
    //finally
      //FreeAndNil(objHorarioIntervalo);
    //end;
  end;

  for i := InfoHorContratual.dadosHorContratual.horarioIntervalo.Count - 1 downto 0 do
  begin
    objHorarioIntervalo := InfoHorContratual.dadosHorContratual.horarioIntervalo.Items[i];
    FreeAndNil(objHorarioIntervalo);
  end;

end;

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Carlos,

Favor anexar a unit alterada para que possamos analisar.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Carlos,

Obrigado, vamos analisar, caso esteja tudo OK, vamos enviar para o repositório.

Desde já muito obrigado pela colaboração.

 

  • Obrigado 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Moderadores
  • Solution
1 hora atrás, CarlosSolla disse:

Estava incluindo algumas tabelas de horários com 2 intervalos , e estava dando o seguinte erro:

First chance exception at $750F08F2. Exception class EArgumentOutOfRangeException with message 'Argument out of range'. 

Como não detectei nenhum problema na carga dos eventos, tentei alterar a procedure pcesS1050.TEvtTabHorTur.GerarHorarioIntervalo , conforme abaixo, e parou de dar o erro. Alguém já passou por isso, ou eu fiz alguma coisa errada? 

O FreeAndNil é desnecessário nessa rotina. Os itens da lista já são destruídos pelo Owner dela.

Correção enviada ao repositório:

03/04/2018
-- pcesS1050 --
[-] Correção de erro "Argument out of range" na geração do evento S-1050.
    https://www.projetoacbr.com.br/forum/topic/42490-problema-inclus%C3%A3o-de-intervalos-na-s-1050/
  Por: CarlosSolla / BigWings

 

 

  • Obrigado 2
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2207 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.

The popup will be closed in 10 segundos...