Jump to content
Fivewin Brasil

problema ao refazer o aCols no wBrowse


gibaf

Recommended Posts

ola a todos...

estou fazendo um browse com o oBrw:SetArray( aCols ), esse aCols tenho isso:

bla..bla..bla...

aCols := {}

ADDD( aCols , {"001" , "AAAAAAAAAAA" , 10 , 1 , 10 } )

ADDD( aCols , {"002" , "BBBBBBBBBBB" , 10 , 2 , 20 } )

ADDD( aCols , {"003" , "CCCCCCCCCCC" , 10 , 3 , 30 } )

oBrw:SetArray( aCols )

bla..bla..bla..

num determinado momento da aplicacao, tenho a necessidade de zerar a matriz aCols e add novas linhas, assim:

aCols := {} //NESSE MOMENTO ACONTECE O ERRO

ADDD( aCols , {"005" , "EEEEEEEEEEE" , 10 , 5 , 50 } )

ADDD( aCols , {"006" , "FFFFFFFFFFF" , 10 , 6 , 60 } )

ADDD( aCols , {"007" , "GGGGGGGGGGG" , 10 , 7 , 70 } )

oBrw:SetArray( aCols )

ja percebi q o erro acontece quando zero a matriz aCols, e falha nissso:

aCols[oBrw:nAt,1] ,;
aCols[oBrw:nAt,2] ,;
Transform( aCols[oBrw:nAt,3] ,'@R 9999.999') ,;
Transform( aCols[oBrw:nAt,4] ,'@E 999,999.9999') ,;
Transform( aCols[oBrw:nAt,5] ,'@E 999,999.9999')
mas, como resolver esse problema (evitar o error.log) ??
desde ja agradeco a ajuda q vier: MUITO OBRIGADO !!!
Link to comment
Share on other sites

fiz isso antes de zerar a Matriz, resolveu, mas se alguem mais tiver outra solucao, peco q poste, por favor...

aColsTmp := aCols
oBrw:SetArray( aCols )
entao, ficou assim:
bla..bla..bla...
aCols := {}
ADDD( aCols , {"001" , "AAAAAAAAAAA" , 10 , 1 , 10 } )
ADDD( aCols , {"002" , "BBBBBBBBBBB" , 10 , 2 , 20 } )
ADDD( aCols , {"003" , "CCCCCCCCCCC" , 10 , 3 , 30 } )
oBrw:SetArray( aCols )
bla..bla..bla..
aColsTmp := aCols
oBrw:SetArray( aColsTmp)
aCols := {} //NESSE MOMENTO ACONTECE O ERRO
ADDD( aCols , {"005" , "EEEEEEEEEEE" , 10 , 5 , 50 } )
ADDD( aCols , {"006" , "FFFFFFFFFFF" , 10 , 6 , 60 } )
ADDD( aCols , {"007" , "GGGGGGGGGGG" , 10 , 7 , 70 } )
oBrw:SetArray( aCols )
Link to comment
Share on other sites

Olá

esse erro as vezes ocorre em razão de ter um refresh de tela (um msginfo, por exemplo) entre o momento que vc zera a tabela relacionada ao browse e o momento em que vc carrega um novo conteúdo, populando novamente a tabela

uma dica para que não ocorra é nunca deixar a tabela vazia, veja este exemplo:

aCols:= {"","< sem registros >",0,0,0} // "zere" a tabela assim

ADDD( aCols , {"001" , "AAAAAAAAAAA" , 10 , 1 , 10 } ) // recarregue os dados

ADDD( aCols , {"002" , "BBBBBBBBBBB" , 10 , 2 , 20 } )

ADDD( aCols , {"003" , "CCCCCCCCCCC" , 10 , 3 , 30 } )

for N:=1 TO LEN(aCols) // remova o item em branco

IF EMPTY(aCols[N,1])

ADEL(aCols,N,.T.)

N--

ENDIF

NEXT

oBrw:SetArray( aCols ) // atualizar a tabela do obejto

oBrw:GoTop()
oBrw:lHitBottom:=.F.
oBrw:Refresh()

Abraço

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...