Compañeros:
Estoy poniendo en practica un Consejo de tantos que eh aprendido en el curso de Ignacio en Cancun-Mexico, les explico..
La idea es utilizar la propiedad :lHideOnClose del formulario que muestro como ayuda tipo F2 con los clientes disponibles al elaborar una factura y asi, en la prox. ocasion, solo hago :ShowModal(). Todo esto con la intencion de no estar cargando "SELECT * FROM.." en cada ocasion.
EL PROBLEMA...
Cuando mando llamar este formulario F2 desde la elaboración de facturas funciona de maravilla (aun llamandolo muchas ocasiones), el problema es cuando cierro la factura y genero OTRA nueva y requiero nuevamente el formulario F2 se muestra pero el FOCO no tengo idea de a donde ha ido, es decir, el formulario no reciber el foco y no me permite hacer clic (como si otro formulario invisible modal estuviera esperando respuesta)
Mi funcion para mostar el formulario F2...
FUNCTION F2Clientes(oSender, oEdit, oLbl, lRefresh )
STATIC oFrmF2 := NIL
LOCAL xRet
DEFAULT lRefresh TO F2ClientesRefresh()
// Si es la 1a. vez que se muestra el formulario...
IF oFrmF2 == NIL
WITH OBJECT oFrmF2 := TFrmF2()
:aBrwHeaders := {"R.F.C.", "Razón Social", "Nombre"}
:cOnRequestData:= "SELECT Clientes.RFC, Clientes.RazonSocia, Clientes.Nombre " +;
"FROM Clientes ORDER BY Clientes.INDNombre"
:cText := "Selección de cliente"
:New( Application:oMainForm ) // <<== oParent del formulario
END WITH
ENDIF
xRet := oFrmF2:Select(oEdit, oLbl, lRefresh)
F2ClientesRefresh( .F. )
RETURN xRet
Lo que he descubierto es que, si el formulario desde el cual mando llamar la Ayuda F2 (por ej. donde se elabora la factura) es MODAL entonces se presenta el problema, en otras palabras, si <oParent> es NO-Modal entonces todo funciona Ok.
Espero haber sido claro. de antemano GRACIAS
SALUDOS!!
Israel
Attached files
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Problema al utilizar la propiedad oFrm:lHideOnClose
-
- Mensajes: 155
- Registrado: Mié Nov 03, 2004 12:42 pm
- Ubicación: Cancún, México
- Contactar:
Problema al utilizar la propiedad oFrm:lHideOnClose
Saludos
Israel
Israel
- ignacio
- Site Admin
- Mensajes: 9259
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Problema al utilizar la propiedad oFrm:lHideOnClose
Israel,
Cuando crees el formulario dale como padre el formulario principal. Algo así:
TMyFrm():New( Application:oMainForm )
Saludos
Cuando crees el formulario dale como padre el formulario principal. Algo así:
TMyFrm():New( Application:oMainForm )
Saludos
-
- Mensajes: 155
- Registrado: Mié Nov 03, 2004 12:42 pm
- Ubicación: Cancún, México
- Contactar:
Problema al utilizar la propiedad oFrm:lHideOnClose
Ignacio
Si te fijas en el codigo que he puesto, asi lo he hecho, es decir, al crear el formulario de Ayuda F2 le he dado como padre Application:oMainForm
Alguna otra idea?
GRACIAS
SALUDOS!!
Israel
Si te fijas en el codigo que he puesto, asi lo he hecho, es decir, al crear el formulario de Ayuda F2 le he dado como padre Application:oMainForm
Alguna otra idea?
GRACIAS
SALUDOS!!
Israel
Saludos
Israel
Israel
- ignacio
- Site Admin
- Mensajes: 9259
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Problema al utilizar la propiedad oFrm:lHideOnClose
Israel,
Prueba con:
WITH OBJECT oFrmF2 := TFrmF2():New( Application:oMainForm )
:aBrwHeaders := {"R.F.C.", "Razón Social", "Nombre"}
:cOnRequestData:= "SELECT Clientes.RFC, Clientes.RazonSocia, Clientes.Nombre " +;
"FROM Clientes ORDER BY Clientes.INDNombre"
:cText := "Selección de cliente"
:Create()
END WITH
Y si no funciona mandanos un pequeño ejemplo que muestre el problema.
Un saludo
Prueba con:
WITH OBJECT oFrmF2 := TFrmF2():New( Application:oMainForm )
:aBrwHeaders := {"R.F.C.", "Razón Social", "Nombre"}
:cOnRequestData:= "SELECT Clientes.RFC, Clientes.RazonSocia, Clientes.Nombre " +;
"FROM Clientes ORDER BY Clientes.INDNombre"
:cText := "Selección de cliente"
:Create()
END WITH
Y si no funciona mandanos un pequeño ejemplo que muestre el problema.
Un saludo