combobox não encerra

combobox não encerra

Postby rogerio » Thu Feb 21, 2008 2:29 pm

Olá

após atualizar para FWH 8.02 surgiu-me um problema:

Nos diálogos aproveitados em vários relatórios, quando preciso encerrar um COMBOBOX eles deixaram de ser encerrados.
ex.:

REDEFINE COMBOBOX oList1 VAR matriz[3] ID 125 of oT430a

...

ACTIVATE DIALOG oT430a NOWAIT VALID ( oT430a := nil, .t. ) ON INIT ( oList1:end() )


end() deixou de encerrar o combo

Alguém sabe o motivo e como corrigir?


[]'s

Rogerio
User avatar
rogerio
 
Posts: 83
Joined: Wed Nov 09, 2005 11:22 pm
Location: São Lourenço da Serra - SP - Brasil

Postby ADBLANCO » Thu Feb 21, 2008 6:21 pm

Exactamente no entiendo el caso, Pero;

Tienes solo el combobox en el dialogo?
Saludos

Angel, Valencia, Venezuela

xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
User avatar
ADBLANCO
 
Posts: 299
Joined: Mon Oct 22, 2007 3:03 pm
Location: Valencia - Venezuela

Postby rogerio » Thu Feb 21, 2008 7:27 pm

Adblanco

no diálogo existem vários controles.
Os Get's, say's, button's, etc., que mando encerrar (:end() ) são encerrados.
Somente os combobox que deixaram de ser encerrados em todos os diálogos de todo o programa.
Como aproveito um mesmo desenho de janela para vários relatórios, conforme o caso preciso encerrar determinados controles.

[]'s

Rogerio
User avatar
rogerio
 
Posts: 83
Joined: Wed Nov 09, 2005 11:22 pm
Location: São Lourenço da Serra - SP - Brasil

Postby karinha » Thu Feb 21, 2008 7:31 pm

O Botão está com a clausula CANCEL Rogerio?

Quando Voce valida, usa o comando GETASYNCKEY()?

Ex:

IF GETASYNCKEY( VK_UP )
RETURN( .F. )
ENDIF

RETURN( .T. )

QUAL É O ESTILO DO COMBO QUE ESTAIS USANDO?
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Postby rogerio » Thu Feb 21, 2008 7:41 pm

karinha

estou usando o seguinte:

CONTROL "", IDC_COMBOBOX4, "COMBOBOX", CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 5, 75, 91, 87


[]'s

Rogerio
User avatar
rogerio
 
Posts: 83
Joined: Wed Nov 09, 2005 11:22 pm
Location: São Lourenço da Serra - SP - Brasil

Postby ronaldo » Thu Feb 21, 2008 8:31 pm

você podera oculta-lo, mas ficar na memoria usando o camento Hide() e para voltar a aparecer SHOW()

REDEFINE COMBOBOX oObj ...
oObj:Hide() ///ira oculta-lo
User avatar
ronaldo
 
Posts: 139
Joined: Fri Nov 25, 2005 4:38 pm
Location: brasil

Postby karinha » Thu Feb 21, 2008 9:02 pm

Rogerio,

CBS_DROPDOWNLIST -> 16 Bits.

CBS_DROPDOWN -> 32 Bits, automaticamente, o <enter< aciona-se.

Abraços, porque não te vejo no FIVEWIN BRASIL?
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Postby rogerio » Fri Feb 22, 2008 2:38 am

Ronaldo

Hide() funciona, obrigado, mas isso me fará ter que varrer todo código atrás de end() nos combos.
Sempre usei end() para encerrar os combos desde o FiveWin 1.9


Karinha,
uso o Workshop para criar os diálogos e ele cria automaticamente o CBS_DROPDOWNLIST , mas tem funcionado perfeitamente.
Eu antes acessava o fórum do virtualobject mas esse acabou. Não tenho o endereço do fivewinbrasil. Manda ele.

[]'s

Rogerio
User avatar
rogerio
 
Posts: 83
Joined: Wed Nov 09, 2005 11:22 pm
Location: São Lourenço da Serra - SP - Brasil

Postby karinha » Fri Feb 22, 2008 12:03 pm

rogerio wrote:Ronaldo

Hide() funciona, obrigado, mas isso me fará ter que varrer todo código atrás de end() nos combos.
Sempre usei end() para encerrar os combos desde o FiveWin 1.9


Karinha,
uso o Workshop para criar os diálogos e ele cria automaticamente o CBS_DROPDOWNLIST , mas tem funcionado perfeitamente.
Eu antes acessava o fórum do virtualobject mas esse acabou. Não tenho o endereço do fivewinbrasil. Manda ele.

[]'s

Rogerio



Rogerio, Mude Nas Propriedades do combo, Para DROPDOWN.

Fivewin Brasil.

http://www.fivewin.com.br

Abraços.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Postby rogerio » Fri Feb 22, 2008 12:34 pm

João

Mudei e continuou na mesma.

Faça o seguinte teste:

Na pasta Samples do FWH tem COMBOS.PRG

Altere a última linha da função Main para
ACTIVATE DIALOG oDlg CENTERED ON INIT oCbx2:end()

você verá que o controle permanecerá ativo.

[]'s

Rogerio
User avatar
rogerio
 
Posts: 83
Joined: Wed Nov 09, 2005 11:22 pm
Location: São Lourenço da Serra - SP - Brasil

Postby karinha » Fri Feb 22, 2008 1:03 pm

rogerio wrote:João

Mudei e continuou na mesma.

Faça o seguinte teste:

Na pasta Samples do FWH tem COMBOS.PRG

Altere a última linha da função Main para
ACTIVATE DIALOG oDlg CENTERED ON INIT oCbx2:end()

você verá que o controle permanecerá ativo.

[]'s

Rogerio


Rogerio meu querido, Porque no ON INIT, Porque queres fechar o COMBO, ao ENTRAR no DIALOGO??

O Correto, é VALID(), Fechas o COMBO, ao sair.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Postby rogerio » Fri Feb 22, 2008 1:12 pm

João

porque um mesmo diálogo, é utilizado em inúmeras funções.
Então em determinadas não uso certos controles, como get's, say's, combos.
Então ao iniciar o diálogo, eu encerro o que não vou usar na função.
Isso simplifica pacas o código.
No caso de relatórios repetitivos, um mesmo diálogo serve para dezenas.
P. Ex. um relatório tem que haver seleção de Fornecedores e Vendedores, então existem dois combos. Em outro relatório somente seleção de Vendedor. Então utilizo somente um combo e o outro é encerrado na carga do diálogo.

[]'s

Rogerio
User avatar
rogerio
 
Posts: 83
Joined: Wed Nov 09, 2005 11:22 pm
Location: São Lourenço da Serra - SP - Brasil

Postby karinha » Fri Feb 22, 2008 1:20 pm

rogerio wrote:João

porque um mesmo diálogo, é utilizado em inúmeras funções.
Então em determinadas não uso certos controles, como get's, say's, combos.
Então ao iniciar o diálogo, eu encerro o que não vou usar na função.
Isso simplifica pacas o código.
No caso de relatórios repetitivos, um mesmo diálogo serve para dezenas.
P. Ex. um relatório tem que haver seleção de Fornecedores e Vendedores, então existem dois combos. Em outro relatório somente seleção de Vendedor. Então utilizo somente um combo e o outro é encerrado na carga do diálogo.

[]'s

Rogerio


ENTENDI ROGERIO, MAS NESTE CASO, NAO TEM COMO VOCE FINALIZAR O COMBO COM O END(), JÁ QUE VOCE ESTA ATIVANDO O DIALOGO, O QUE VOCE DEVE FAZER, EM MINHA MODESTA OPINIAO, E ESCONDER O COMBO, E APRENSENTA-LO QUANDO O MESMO FOR NECESSARIO.

ESCONDER: OCBX:HIDE()
MOSTRAR: OCBX:SHOW()

Ou voce tambem pode ter quantos COMBOS sejam necessarios no mesmo lugar, usando apenas IDS diferentes e ESCONDE quem nao quer e MOSTRA quem voce quer em tempo real.

Abraços.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Postby rogerio » Fri Feb 22, 2008 1:30 pm

OK, João

o hide() funciona.

Porém como sempre foi utilizado end(), desde o FW1.9 em TODOS os prg's de TODOS os sistemas, que dará várias centenas de prg's diferentes, terei que fazer a mudança de end() para hide() isso somente nos combos, pois os demais controles continuam sendo encerrados com end().

Isso aconteceu somente agora na atualização para o FWH 8.02.

Se o Antonio Linares estiver lendo esta discussão talvez ele saiba porque o end() deixou de ser utilizado para encerrar combos.

Eu simplesmente queria evitar um trabalho imenso ao substituir os end() por hide()..

[]'s

Rogerio
User avatar
rogerio
 
Posts: 83
Joined: Wed Nov 09, 2005 11:22 pm
Location: São Lourenço da Serra - SP - Brasil

Postby karinha » Fri Feb 22, 2008 5:45 pm

rogerio wrote:OK, João

o hide() funciona.

Porém como sempre foi utilizado end(), desde o FW1.9 em TODOS os prg's de TODOS os sistemas, que dará várias centenas de prg's diferentes, terei que fazer a mudança de end() para hide() isso somente nos combos, pois os demais controles continuam sendo encerrados com end().

Isso aconteceu somente agora na atualização para o FWH 8.02.

Se o Antonio Linares estiver lendo esta discussão talvez ele saiba porque o end() deixou de ser utilizado para encerrar combos.

Eu simplesmente queria evitar um trabalho imenso ao substituir os end() por hide()..

[]'s

Rogerio


ROGERIO, EU USO A VERSAO 2.7, E TAMBÉM NÃO FUNCIONA O END(), SOMENTE O HIDE()/SHOW().


Abraços.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 57 guests