Saludos:
Estoy preparando un programa en el que quiero usar dialogos NOWAIT, pero me surge un problema.
Hay una funcion en concreto en la que depende de una variable que se le pasa, debera abrir el dialogo como NOWAIT o no.
Hasta ahora lo he resuelto asi,
MiFuncion(oWin,lSel)
DEFINE DIALOG oDlg RESOURCE "MiVentana" OF oWin
*
Los objetos van aqui.
*
IF lSel
ACTIVATE DIALOG CENTER
ELSE
ACTIVATE DIALOGO CENTER NOWAIT
ENDIF
Existe alguna funcion de los dialogos en la que se pueda indicar si es NOWAIT o NO.
Algo asi como oDlg:lNowait:=.f.
Gracias de antemano por la ayuda.
Un saludo
Dialogos NoWait
- Daniel Garcia-Gil
- Posts: 2365
- Joined: Wed Nov 02, 2005 11:46 pm
- Location: Isla de Margarita
- Contact:
Re: Dialogos NoWait
Saludos
podrias usar
puedes mirar dentro de fivewin.ch o dentro de dialog.prg para que veas cada uno de los parametros
podrias usar
Code: Select all
oDlg:Activate( , , , , , lSel )
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Re: Dialogos NoWait
Daniel gracias por tu ayuda
Hice tal como me dijiste y funciona, no obstante ahora me encuentro con otro problema.
¿Como utilizo bValid y bInit, dentro de Activate()?
He hecho lo siguiente pero me da error al cargar el dialogo.
Error description: Error BASE/1002 No existe el alias: Cliente1
// Asi sí me funciona
ACTIVATE DIALOG oDlg CENTER ON INIT (lNew:=.f.,oDlg:aEvalWhen(),oRad:SetOption(2),CliAlta(dCli,lAlt,oBrw), ;
IIF((dCli)->(EOF()),EVAL(bCliVer),(oFol:SetOption(1),oFol:aEnable:={.t.,.f.,.f.,.f.,.f.},oBrw:SetFocus()))) ;
VALID (NoEscape() .AND. CierraCli(dCli,dAge,dBco,dGpo,dFpg,oBrw)) ;
NOWAIT
// Asi no me funciona
bInit:={|| (lNew:=.f.,oDlg:aEvalWhen(),oRad:SetOption(2),CliAlta(dCli,lAlt,oBrw),IIF((dCli)->(EOF()),EVAL(bCliVer),(oFol:SetOption(1),oFol:aEnable:={.t.,.f.,.f.,.f.,.f.},oBrw:SetFocus())))}
bValid:={|| (NoEscape() .AND. CierraCli(dCli,dAge,dBco,dGpo,dFpg,oBrw)) }
lCentered:=.t.
oDlg:Activate( , , ,lCentered,EVAL(bValid),lSel,EVAL(bInit) )
Gracias de antemano.
Hice tal como me dijiste y funciona, no obstante ahora me encuentro con otro problema.
¿Como utilizo bValid y bInit, dentro de Activate()?
He hecho lo siguiente pero me da error al cargar el dialogo.
Error description: Error BASE/1002 No existe el alias: Cliente1
// Asi sí me funciona
ACTIVATE DIALOG oDlg CENTER ON INIT (lNew:=.f.,oDlg:aEvalWhen(),oRad:SetOption(2),CliAlta(dCli,lAlt,oBrw), ;
IIF((dCli)->(EOF()),EVAL(bCliVer),(oFol:SetOption(1),oFol:aEnable:={.t.,.f.,.f.,.f.,.f.},oBrw:SetFocus()))) ;
VALID (NoEscape() .AND. CierraCli(dCli,dAge,dBco,dGpo,dFpg,oBrw)) ;
NOWAIT
// Asi no me funciona
bInit:={|| (lNew:=.f.,oDlg:aEvalWhen(),oRad:SetOption(2),CliAlta(dCli,lAlt,oBrw),IIF((dCli)->(EOF()),EVAL(bCliVer),(oFol:SetOption(1),oFol:aEnable:={.t.,.f.,.f.,.f.,.f.},oBrw:SetFocus())))}
bValid:={|| (NoEscape() .AND. CierraCli(dCli,dAge,dBco,dGpo,dFpg,oBrw)) }
lCentered:=.t.
oDlg:Activate( , , ,lCentered,EVAL(bValid),lSel,EVAL(bInit) )
Gracias de antemano.
- Daniel Garcia-Gil
- Posts: 2365
- Joined: Wed Nov 02, 2005 11:46 pm
- Location: Isla de Margarita
- Contact:
Re: Dialogos NoWait
Alfonso
pasas el codeblock no el "eval" de ellos, la clase se encarga internamente de evaluarlos
oDlg:Activate( , , ,lCentered, bValid, lSel, bInit )
pasas el codeblock no el "eval" de ellos, la clase se encarga internamente de evaluarlos
oDlg:Activate( , , ,lCentered, bValid, lSel, bInit )
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Re: Dialogos NoWait
Daniel:
Perfecto, muchas gracias por tu tiempo.
Un saludo
Perfecto, muchas gracias por tu tiempo.
Un saludo