Erro no Achoice
Enviado: 22 Jun 2016 17:37
Ao apagar a última linha de um array dá-me o seguinte erro:
Error BASE/1132 Bound error: array access
Já baixei o achoice.prg e fiz debug, e na parte do SWITCH nUserFunc o programa entra sempre na opção AC_REDRAW, seja qual for o valor de nUserFunc.
https://github.com/harbour/core/blob/ma ... choice.prg
Tenho a versão hb34 e já testei no windows XP e no 10.
Anexo um pequeno exemplo.
Alguém consegue testar?
Error BASE/1132 Bound error: array access
Já baixei o achoice.prg e fiz debug, e na parte do SWITCH nUserFunc o programa entra sempre na opção AC_REDRAW, seja qual for o valor de nUserFunc.
https://github.com/harbour/core/blob/ma ... choice.prg
Tenho a versão hb34 e já testei no windows XP e no 10.
Anexo um pequeno exemplo.
Alguém consegue testar?
Código: Selecionar todos
/*-------------------------------------*/
PROCEDURE MAIN()
PUBLIC ARRCNT:=2
PUBLIC SHOW:={"FIRST","SECOND"}
CLEAR
SET COLOR TO "W+"
DO WHILE LastKey()<>13 .AND. LastKey()<>27
AChoice(0,0,24,79,SHOW,,"choiven",ARRCNT)
ENDDO
QUIT
RETURN
/*-------------------------------------*/
FUNCTION choiven(choimod,choipos,choilin)
PRIVATE OLDROW, OLDCOL, RETORN
RETORN=2
IF choimod=3
OLDROW=Row()
OLDCOL=Col()
IF LastKey()=27
RETORN=0
ENDIF
IF LastKey()=7
IF Len(SHOW)=1
@ 24, 0 SAY "Only one line. Cannot delete."
Inkey(1)
@ 24, 0 SAY Space(80) COLOR "N/N"
ELSE
IF CHOIPOS=1
CLEAR
ENDIF
ADel(SHOW,CHOIPOS)
ASize(SHOW,Len(SHOW)-1)
CHOIPOS--
ARRCNT--
ENDIF
SETLASTKEY(0)
RETORN=0
//RETORN=2 //não refresca o ecrã
ENDIF
SetPRC(OLDROW,OLDCOL)
ENDIF
RETURN RETORN