Page 1 of 2
Problemas con menues ( Solucionado )
Posted: Wed Feb 01, 2017 3:17 pm
by horacio
Colegas, tengo una tabla y una ribbonbar. En uno de sus botones tengo un menú que hace de switch entre datos de esa misma tabla. Adjunto imagen.

Una vez que cambio los datos, cambio también el action y el prompt del menú, al pulsarlo nuevamente se ve de esta manera.

Alguna pista ? Muchísimas gracias
Saludos
Re: Problemas con menues
Posted: Wed Feb 01, 2017 7:31 pm
by cnavarro
Qué version de Fw tienes?
Dime cómo lo estás haciendo
Re: Problemas con menues
Posted: Wed Feb 01, 2017 8:04 pm
by horacio
Gracias Cristobal por responder. Estoy compilando con FWH 17.01 ( BUILD 2 ), Harbour 3.2 y Bcc7. Compilando con la versióo 16.12 no sucede.
Así defino el menú
Code: Select all | Expand
//----------------------------------------------------------------------------//
Function PopupNoMat()
Local oMenu
Local oMnu := Array( 2, 0 )
Menu oMenu PopUp _2010
MenuItem oMnu[ 1 ] Prompt '&Tabla de históricos' Action If( !lHistorico, IrTablaHistoricos( oMnu ), IrTablaAlumnos( oMnu ) )
MenuItem oMnu[ 2 ] Prompt '&Enviar a históricos' Action If( !lHistorico, EnviaAHistoricos(), EnviaAAlumnos() )
EndMenu
Return oMenu
Aqui cambio el prompt del menú
Code: Select all | Expand
//----------------------------------------------------------------------------//
Function IrTablaAlumnos( oMnu )
lHistorico := .f.
oMnu[ 1 ] : SetText( '&Tabla de históricos' )
oMnu[ 2 ] : SetText( '&Enviar a históricos' )
oQry : SetFilter( '' )
oQry : SetFilter( 'es_historico == 0' )
oBrw : GoTop()
oBrw : Refresh()
oBrw : SetFocus()
oWnd : SetText( 'Tabla Alumnos' )
Return 0
//----------------------------------------------------------------------------//
Function IrTablaHistoricos( oMnu )
lHistorico := .t.
oMnu[ 1 ] : SetText( '&Tabla alumnos' )
oMnu[ 2 ] : SetText( '&Enviar a padron actual' )
oQry : SetFilter( '' )
oQry : SetFilter( 'es_historico == 1' )
oBrw : GoTop()
oBrw : Refresh()
oBrw : SetFocus()
oWnd : SetText( 'Tabla Históricos' )
Return 0
Saludos
Re: Problemas con menues
Posted: Wed Feb 01, 2017 8:13 pm
by cnavarro
Re: Problemas con menues
Posted: Wed Feb 01, 2017 8:29 pm
by horacio
Crisstobal, me tira este error
Code: Select all | Expand
Error description: Error BASE/1004 No existe el m‚todo: HWND
Args:
[ 1] = U
Stack Calls
===========
Called from: => HWND( 0 )
Called from: .\source\classes\MENUITEM.PRG => TMENUITEM:SETCHANGEPROMPT( 805 )
Called from: C:\t-rex_sql\alumnos.prg => IRTABLAHISTORICOS( 309 )
Called from: C:\t-rex_sql\alumnos.prg => (b)POPUPNOMAT( 286 )
Called from: .\source\classes\MENU.PRG => TMENU:ACTIVATE( 1270 )
Called from: .\source\classes\TRBTN.PRG => TRBTN:LBUTTONUP( 883 )
Called from: .\source\classes\TRBTN.PRG => TRBTN:LBUTTONDOWN( 799 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1718 )
Called from: .\source\classes\TRBTN.PRG => TRBTN:HANDLEEVENT( 1575 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3325 )
Called from: => WINRUN( 0 )
Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 1036 )
Called from: C:\t-rex_sql\main.prg => START( 104 )
Called from: C:\t-rex_sql\main.prg => MAIN( 12 )
Saludos
Re: Problemas con menues
Posted: Wed Feb 01, 2017 8:31 pm
by cnavarro
Bien, es un menu POPUP?
Ponme la definicion del menu? ( la primera linea )
Qué raro porque la linea 805 está dentro de un bloque de lineas
comentadas
Re: Problemas con menues
Posted: Wed Feb 01, 2017 8:37 pm
by horacio
La definición del menú se encuentra en el primer post
Saludos
Re: Problemas con menues
Posted: Wed Feb 01, 2017 8:43 pm
by cnavarro
Tienes razon, no me habia fijado bien
Re: Problemas con menues
Posted: Wed Feb 01, 2017 8:49 pm
by horacio
La linea 805 en mi fuente es la 811 en tu muestra
Saludos
Re: Problemas con menues
Posted: Wed Feb 01, 2017 8:50 pm
by cnavarro
Ok, voy a hacer unas pruebas y te comento
Hazme el favor de probar asi, para saber qué puede estar pasando
Code: Select all | Expand
Menu oMenu PopUp _2010 OF oWnd // añade de momento OF <ventana>
o en el ACTIVATE POPUP .... OF oWnd
y dime
Re: Problemas con menues
Posted: Wed Feb 01, 2017 10:03 pm
by cnavarro
De todas formas, al margen de depurar el posible error que esa instrucción puede generar, podrías probar algo asi:
Code: Select all | Expand
Menu oMenu PopUp _2010
MenuItem oMnu[ 1 ] Prompt { || if( !lHistorico, '&Tabla alumnos', '&Tabla de históricos' } Action If( !lHistorico, IrTablaHistoricos( oMnu ), IrTablaAlumnos( oMnu ) )
MenuItem oMnu[ 2 ] Prompt { || if( !lHistorico, '&Enviar a padron actual', '&Enviar a históricos' } Action If( !lHistorico, EnviaAHistoricos(), EnviaAAlumnos() )
EndMenu
Re: Problemas con menues
Posted: Wed Feb 01, 2017 11:33 pm
by horacio
Cristobal, referenciando la ventana funciona. Muchas Gracias
Saludos
Re: Problemas con menues (Solucionado)
Posted: Thu Feb 02, 2017 12:09 am
by cnavarro
Ok, pero dime si es correcto
- Tienes una ventana con una ribbonbar y debajo un browse, cierto?, o es un diálogo?
- Si es una ventana, es mdichild?
Re: Problemas con menues (Solucionado)
Posted: Thu Feb 02, 2017 12:58 am
by horacio
Cristobal, es una ventana MDICHILD con una ribbonbar y un xbrowse.
Saludos
Re: Problemas con menues
Posted: Thu Feb 02, 2017 8:43 pm
by horacio
Vuelvo sobre este tema. Si bien se solucionó el menú popup no me percate que el menú de la ventana desaparece. Adjunto imagen.

Cuando referencio la ventana en el Menú Popup el menú de la ventana desaparece

Saludos