Página 1 de 1

erro de array access quando abro um browsers dentro de outro

Enviado: 26 Mar 2008 08:56
por Wanderlei
o lance é o seguinte estou usando a GTWVW e preciso abrir um novo browsers de dentro de um browsers, mas quando chamo o segundo browsers aparece este erro na hora de usar a função fAddObjects.
sempre que eu tenho uma janela aberta e a variavel p_aListObjects está carregada, dá este erro:

erro base/1132 erro encadeado: array access

alguem sabe o que fazer???

estou usando as rotina abaixo para adicionar e redesenhar as telas...

Código: Selecionar todos

**************************************** 
FUNCTION fAddObjects( nWindow, bAction ) 
**************************************** 
   aadd( p_aListObjects[ nWindow+1 ], bAction ) 
RETURN .T. 

********************************* 
FUNCTION fResetObjects( nWindow ) 

********************************* 
   while len( p_aListObjects ) < nWindow+1 
      aadd( p_aListObjects, {} ) 
   enddo 
   p_aListObjects[ nWindow+1 ] := {} 
RETURN .T. 

***************************** 
FUNCTION WVW_Paint( nWindow ) 
***************************** 
   if len( p_aListObjects ) >= nWindow+1 
      aeval( p_aListObjects[nWindow+1], {|e| eval( e, nWindow )} ) 
   endif 
RETURN 0 
[]s a todos.
Wanderlei :(

Enviado: 26 Mar 2008 09:49
por Pablo César
Não conheço essa função da GTWVW, mas eu utilizaria um outro VETOR com outro nome caso você precise abrir uma segunda janela. Talvez seja aí o seu problema. Dá tmanho incorreto da MATRIZ porque você estaria re-fazendo-la. Mude utilizando outro nome na hora do AADD().

Oi Pablo já tentei usar um outro vetor e deu o mesmo erro.

Enviado: 26 Mar 2008 10:30
por Wanderlei
eu até pensei nisso copiei a função e mudei o vetor e quando eu chamava um segundo browsers eu usava esta segunda rotina, mas deu o mesmo problema. :-o

Enviado: 26 Mar 2008 12:05
por Pablo César
Então o err está na definição de alguma variável na instrução: while len( p_aListObjects ) < nWindow+1 que possa estar interferindo com a anterior.