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á 2432 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

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;

 

  • Moderadores
  • Solution
Postado
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

 

 

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