Armando Picon wrote:Utiliza la variable cargo que tienen los objetos Ventanas. Ejemplo
if ASCAN( oWndMain:oWndClient:aWnd, {|x| x:cargo == "VENTAS"} ) == 0 // comparas si ya existe x:cargo devuelve cero
// si es cero significa que x:cargo está vacio y por eso entra en esta rama
/*
Aqui viene tu codigo para trabajar la ventana hija
*/
oWndVta:cargo := "VENTAS" // se asigna por primera vez x:cargo con lo que quieras
ACTIVATE WINDOW oWndVta
oFont:end()
oFont2:end()
DBSELECTAREA("Stock")
*
ELSE // como ya x:cargo tiene
valor solo reactiva la ventana y no se vuelve a cargar nuevamente.
oWndVta:SetFocus()
oWndVta:restore()
oWndVta:refresh()
ENDIF
RETURN
Espero te sirva como plantilla. Hay otras soluciones pero esta es a prueba de "cañones y palurdos"
ACC69 wrote:Hola amigos del foro, como deshabilitar cada modulo usando ejemplo: oMenu:Altas:Disable() y volver habilitar nuevamente, estoy usando ventanas hijas y que el usuario no pueda volver abrir el mismo módulo nuevamente, o si alguien tiene alguna rutina que me pueda ayudar o un ejemplo de codigo ? en mi programa lo deshabilita, pero no logro habilitar nuevamente ya intente de varias formas y nada
, les agradecere su ayuda inmediata gracias
Adriano C. C.
acc69@hotmail.com
El chiste es abrir el modulo y deshabilitar mientras que el usuario haga ciertos procesos y al terminar y cerrar el modulo, que se habilite regresando al menu, porque muchas veces el usuario se le olvida que tiene minimizado x modulo y sin darse cuenta, vuelve abrir mismo modulo, porque es una ventana MDIChld
Esto es un ejemplo de poner disable al seleccionar el modulo
MENU
MENUITEM oItem[07] Prompt "&Referencias y proveedores" ACTION AccModul(BUSCAR1(),oItem[07]) ;
MESSAGE "Búsqueda de referencias"
ENDMENU
Y esta la rutina de deshabilitar x modulo del menu
//------------------------------------------------------------------------------
FUNCTION AccModul(bFunction,oItem)
oItem:Disable()
return nil
Ahora como logro habilitar nuevamente, cuando el usuario termine de usar el modulo .
Les agradecere su ayuda gracias
Adriano