gilbrodrigues Posted March 1, 2011 Report Share Posted March 1, 2011 Ola pessoal, Estou tendo dificuldades em mostrar um elemento de um array via combobox, pois mesmo dando refresh e update o conteudo que é da variavel não é mostrado na tela. Segue o programa abaixo: ----------------------------------------------------------- REDEFINE COMBOBOX oxycmb VAR xcontat ITEMS xVetCli ID 4008 OF oDiag1 UPDATE // letra tela combo getobj REDEFINE COMBOBOX oxycmb2 VAR lettercli ITEMS xvetAlfa ID 4025 OF oDiag1 UPDATE ON CHANGE ProcVisita(lettercli,@oDiag1,@oxycmb) FUNCTION ProcVisita(letra,atuform,control) // varobj pode ser NIL (null) nulo PUBLIC xletra := letra filearq := "PROPRIET" (filearq)->(DBSETFILTER( {|| LEFT ((filearq)->NOME,1) == xletra} )) xVetCli := {} (filearq)->(dbGoTop()) WHILE ( !(filearq)->(EOF()) ) AADD(xVetCli, (filearq)->NOME) (filearq)->(DBSKIP()) END (filearq)->(dbSetfilter()) IF LEN(xVetCli) >= 01 xcontat := xVetCli[1] // ENDIF control:SetItems(xVetcli) control:show() control:update() control:Refresh() control:setfocus() atuform:update() atuform:refresh() RETURN .T. ******************************************************** Note que a variavel XCONTAT (é que deve ser atualizada) é a que armazena o item selecionado do array/combo. Isso funciona. Mas tem 'alguma coisa' que nao esta atualizando nem com refresh nem update o objeto desta variavel é atualizado somente o controle da combo funciona perfeitamente. Se alguem tiver uma sugestão.. Editado por - gilbrodrigues on 01/03/2011 12:43:56 Quote Link to comment Share on other sites More sharing options...
gilbrodrigues Posted March 1, 2011 Author Report Share Posted March 1, 2011 Ola pessoal, Estou tendo dificuldades em mostrar um elemento de um array via combobox, pois mesmo dando refresh e update o conteudo que é da variavel não é mostrado na tela. Segue o programa abaixo: ----------------------------------------------------------- REDEFINE COMBOBOX oxycmb VAR xcontat ITEMS xVetCli ID 4008 OF oDiag1 UPDATE // letra tela combo getobj REDEFINE COMBOBOX oxycmb2 VAR lettercli ITEMS xvetAlfa ID 4025 OF oDiag1 UPDATE ON CHANGE ProcVisita(lettercli,@oDiag1,@oxycmb) FUNCTION ProcVisita(letra,atuform,control) // varobj pode ser NIL (null) nulo PUBLIC xletra := letra filearq := "PROPRIET" (filearq)->(DBSETFILTER( {|| LEFT ((filearq)->NOME,1) == xletra} )) xVetCli := {} (filearq)->(dbGoTop()) WHILE ( !(filearq)->(EOF()) ) AADD(xVetCli, (filearq)->NOME) (filearq)->(DBSKIP()) END (filearq)->(dbSetfilter()) IF LEN(xVetCli) >= 01 xcontat := xVetCli[1] // ENDIF control:SetItems(xVetcli) control:show() control:update() control:Refresh() control:setfocus() atuform:update() atuform:refresh() RETURN .T. ******************************************************** Note que a variavel XCONTAT (é que deve ser atualizada) é a que armazena o item selecionado do array/combo. Isso funciona. Mas tem 'alguma coisa' que nao esta atualizando nem com refresh nem update o objeto desta variavel é atualizado somente o controle da combo funciona perfeitamente. Se alguem tiver uma sugestão.. Editado por - gilbrodrigues on 01/03/2011 12:43:56 Quote Link to comment Share on other sites More sharing options...
mkyx Posted March 1, 2011 Report Share Posted March 1, 2011 Será que o objeto CONTROL que vc usa, não é uma palavra reservada? muda o objeto CONTROL para outra, só pra ver. Essa é uma dica. Pompeo Guaratinguetá - SP (12) 8829-8088 E-Mail: mkyx@ig.com.br pardes.mky@hotmail.com MSN:pardes.mky@hotmail.com www.adentech.com.br www.rmahost.com xH 1.1.0 Hb 8.02 - BCC 55 Quote Link to comment Share on other sites More sharing options...
gilbrodrigues Posted March 1, 2011 Author Report Share Posted March 1, 2011 citação:Será que o objeto CONTROL que vc usa, não é uma palavra reservada? muda o objeto CONTROL para outra, só pra ver. Essa é uma dica. Pompeo Guaratinguetá - SP (12) 8829-8088 E-Mail: mkyx@ig.com.br pardes.mky@hotmail.com MSN:pardes.mky@hotmail.com www.adentech.com.br www.rmahost.com xH 1.1.0 Hb 8.02 - BCC 55 id=quote>id=quote>Farei o teste. Obrigado pela dica. FIZ O TESTE porem nao funcionou ! Editado por - gilbrodrigues on 01/03/2011 14:12:50 Quote Link to comment Share on other sites More sharing options...
Luisão Posted March 1, 2011 Report Share Posted March 1, 2011 xVetCli não é LOCAL não né ? E por que aquela xLetra Public ali ? Cada vez que esta rotina é chamada você "redeclara" ela. Tenta passar a xVetCli como parâmetro por valor (sem arroba). Arrays sempre vão como referência. Luis Fernando Jr. (Luisão) Leme/SP -- FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY juninho.luisao@gmail.com juninho_luisao@hotmail.com Skype luis.fernando.jr Quote Link to comment Share on other sites More sharing options...
neto_23 Posted September 28, 2012 Report Share Posted September 28, 2012 estou nesse mesmos problema como foi resolvido esse topico? fw10.8harbour-xDev.70 Studio-bcc582-Mysql-Pelles programadorcp80@hotmail.com.br ; Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.