Dialogos NoWait

Dialogos NoWait

Postby txon » Thu Mar 31, 2011 2:52 pm

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

Re: Dialogos NoWait

Postby Daniel Garcia-Gil » Thu Mar 31, 2011 2:59 pm

Saludos


podrias usar

Code: Select all  Expand view
oDlg:Activate( , , , , , lSel )


puedes mirar dentro de fivewin.ch o dentro de dialog.prg para que veas cada uno de los parametros
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Dialogos NoWait

Postby txon » Thu Mar 31, 2011 7:07 pm

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

Re: Dialogos NoWait

Postby Daniel Garcia-Gil » Thu Mar 31, 2011 7:13 pm

Alfonso

pasas el codeblock no el "eval" de ellos, la clase se encarga internamente de evaluarlos

oDlg:Activate( , , ,lCentered, bValid, lSel, bInit )
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Dialogos NoWait

Postby txon » Thu Mar 31, 2011 7:28 pm

Daniel:
Perfecto, muchas gracias por tu tiempo.

Un saludo
Un saludo
Alfonso Larrinaga
info@bsinformatica.net
User avatar
txon
 
Posts: 38
Joined: Thu Oct 13, 2005 9:38 am
Location: Santurce / Vizcaya / España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 9 guests