- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Limitar tamanho array
×
Linguagem de Programação ADVPL
Perguntas Limitar tamanho array
- mazcabral
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 9
- Obrigados Recebidos: 0
10 anos 11 meses atrás #18985
por mazcabral
Limitar tamanho array foi criado por mazcabral
Prezados,
Possuo uma rotina que verifica a disponibilidade de produtos em estoque. Uma função desse fonte customizado, no entando, após uma atualização que houve faz algum tempo, está apresentando um estouro de array. Gostaria de saber se há como barrar ou contornar essa limitação de forma a suprimir o erro:
"Create array overflow - limit is 65535 in file .\arrayfuncs.cpp at line 225 on ADDSEP(MEFATM01.PRW)
A linha referida segue:
/* Adiciona linha separadora de produtos */
Static Function AddSep()
Local aAux := array(Len(aHeaderX)+1)
aAux[1]:="."
aAux[len(aAux)]:=.F.
AADD(aColsX, aClone(aAux) )
Return
Possuo uma rotina que verifica a disponibilidade de produtos em estoque. Uma função desse fonte customizado, no entando, após uma atualização que houve faz algum tempo, está apresentando um estouro de array. Gostaria de saber se há como barrar ou contornar essa limitação de forma a suprimir o erro:
"Create array overflow - limit is 65535 in file .\arrayfuncs.cpp at line 225 on ADDSEP(MEFATM01.PRW)
A linha referida segue:
/* Adiciona linha separadora de produtos */
Static Function AddSep()
Local aAux := array(Len(aHeaderX)+1)
aAux[1]:="."
aAux[len(aAux)]:=.F.
AADD(aColsX, aClone(aAux) )
Return
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
10 anos 11 meses atrás #18986
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Limitar tamanho array
/* Adiciona linha separadora de produtos */
Static Function AddSep()
Local aAux := array(Len(aHeaderX)+1)
If Len(aColsX) <= 10000 // Se o Array Tiver menos de 10.000 Linhas entao Permite Adicionar Novos
aAux[1]:="."
aAux[len(aAux)]:=.F.
AADD(aColsX, aClone(aAux) )
Endif
Return
Static Function AddSep()
Local aAux := array(Len(aHeaderX)+1)
If Len(aColsX) <= 10000 // Se o Array Tiver menos de 10.000 Linhas entao Permite Adicionar Novos
aAux[1]:="."
aAux[len(aAux)]:=.F.
AADD(aColsX, aClone(aAux) )
Endif
Return
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- mazcabral
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 9
- Obrigados Recebidos: 0
10 anos 11 meses atrás #18987
por mazcabral
Respondido por mazcabral no tópico Limitar tamanho array
Luiz,
Obrigado pela resposta, mas o erro permanece na execução. O problema creio ser no limite de alocação de bytes na memória em vez de tamanho da array.
Obrigado pela resposta, mas o erro permanece na execução. O problema creio ser no limite de alocação de bytes na memória em vez de tamanho da array.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
10 anos 11 meses atrás #18988
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Limitar tamanho array
Brother se vc puder compactar o fonte e anexar aqui, fica mais fácil, pois vc só mandou um pequeno pedaço.
Abraços.
Abraços.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- mazcabral
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 9
- Obrigados Recebidos: 0
10 anos 11 meses atrás #18995
por mazcabral
Respondido por mazcabral no tópico Limitar tamanho array
Luiz,
Segue o anexo. É bem grande o fonte e é uma enorme dor de cabeça ele não estar a funcionar nessa rotina de disponibilidade automática.
Abraço!
Segue o anexo. É bem grande o fonte e é uma enorme dor de cabeça ele não estar a funcionar nessa rotina de disponibilidade automática.
Abraço!
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Limitar tamanho array
Tempo para a criação da página:0.116 segundos