Dialogos NoWait

Post Reply
User avatar
txon
Posts: 38
Joined: Thu Oct 13, 2005 9:38 am
Location: Santurce / Vizcaya / España
Contact:

Dialogos NoWait

Post by txon »

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
Un saludo
Alfonso Larrinaga
info@bsinformatica.net
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Dialogos NoWait

Post by Daniel Garcia-Gil »

Saludos


podrias usar

Code: Select all

oDlg:Activate( , , , , , lSel )
puedes mirar dentro de fivewin.ch o dentro de dialog.prg para que veas cada uno de los parametros
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
User avatar
txon
Posts: 38
Joined: Thu Oct 13, 2005 9:38 am
Location: Santurce / Vizcaya / España
Contact:

Re: Dialogos NoWait

Post by txon »

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.
Un saludo
Alfonso Larrinaga
info@bsinformatica.net
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Dialogos NoWait

Post by Daniel Garcia-Gil »

Alfonso

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
User avatar
txon
Posts: 38
Joined: Thu Oct 13, 2005 9:38 am
Location: Santurce / Vizcaya / España
Contact:

Re: Dialogos NoWait

Post by txon »

Daniel:
Perfecto, muchas gracias por tu tiempo.

Un saludo
Un saludo
Alfonso Larrinaga
info@bsinformatica.net
Post Reply