Antonio.
Ya comprendo. Ahora te hago otra pregunta.
*-----------------------------------------------------------
Entro en la aplicación
Voy a mCliente.prg a Consultar la tabla Clientes
Una vez en clientes minimizo la ventana
una vez minimizada me voy a consulta almacen
Consulto almacen y cierro la ventana
Me voy a restaurar le ventana de clientes y me da un casque
que dice no existe el alias "CLI"
Por que hace esto?
Que hago mal?
Debo de abrir las tablas en la ventana principal ?
Gracis de antemano
Un saludo
//....................................................
/MyAplic.Prg
*..........
#Include "FiveWin.Ch"
*...........
Static oWndMain
*...........
Function MainAplic()
Local bTnCli,bTnalm,bTnPob,oFont
DEFINE DIALOG oWndMain RESOURCE 'Principal' FON oFont
REDEFINE BUTTON BtnCli ID 201 OF oWndMain FONT oFont ;
ACTION (ConsultaCli(oWndMain))
//Voy a mCliente.prg a Consultar la tabla Clientes
REDEFINE BUTTON BtnAlm ID 202 OF oWndMain FONT oFont ;
ACTION (ConsultaAlm(oWndMain)
//Voy a mAlmacen.prg a Consultar la tabla Almacen
REDEFINE BUTTON BtnPob ID 203 OF oWndMain FONT oFont ;
ACTION (ConsultaPob(oWndMain)
//Voy a mPoblaci.prg a Consultar la tabla poblaci
REDEFINE BUTTON BtnEnd ID 204 OF oWndMain FONT oFont ;
ACTION (oWndMain:End())
ACTIVATE DIALOG oWndMain CENTERED
Return Nil
-----------------------------------------------------
-----------------------------------------------------
#Include "FiveWin.Ch"
*Mcliente.Prg
Function ConsultaCli(oWndMain)
Local oDlgCli,oBtend,oLbx,oFont,...etc.
If Abretablas()
Select('Cli')
DEFINE DIALOG oDlgCli RESOURCE 'Clientes' FONT oFont OF oWndMain
REDEFINE LISTBOX oLbx ;
FIELDS ;
Cli->CLICODIGO ,;
Cli->CLINOMBRE ,;
Cli->CLIDIRECC ,;
Cli->CLIPOBLAC ,;
Cli->CLIPOSTAL ,;
Cli->CLIPROVIN ,;
Cli->CLIDNINIF ;
HEADERS ;
"Código","Empresa","Dirección" ,;
"Población","C.Postal","Provincia","Dni / Nif" ;
FIELDSIZES 50,180,180,180,50,100,100 ;
ID 101 OF oDlgcli ;
UPDATE
oLbx:nLineStyle := 3
oLbx:bChange := {||oLbx:Refresh()}
REDEFINE BUTTON oBtEnd ID 102 OF oDlgCli FONT oFont ;
ACTION (oDlgCli:End())
ACTIVATE DIALOG oDlgCli CENTERED NOWAIT
oDlg:End()
oFont:End()
Dbcloseall()
Else
MsgInfo('Imposible abrir tablas','ERROR')
Endif
Return Nil
-----------------------------------------------------
-----------------------------------------------------
*MAlmacen.Prg
#Include "FiveWin.Ch"
Function ConsultaCli(oWndMain)
Local oDlgAlm,oBtend,oLbx,oFont...etc.
If Abretablas()
DEFINE DIALOG oDlgAlm RESOURCE 'Almacen' FONT oFont OF oWndMain
Select('Alm')
REDEFINE LISTBOX oLbx ;
FIELDS ;
Alm->CLIENTE ,;
Alm->ARTICULO ,;
Alm->DESCRIPC ,;
Dtoc(Alm->FECHA_ENT) ,;
Transform(Alm->CANTIDAD,'@Z 999,999') ;
HEADERS ;
"Cliente","Articulo","Descripción","Cantidad" ;
ID 101 OF oDlgAlm;
UPDATE
oLbx:nLineStyle := 3
oLbx:bChange := {||oLbx:Refresh()}
REDEFINE BUTTON oBtEnd ID 102 OF oDlgAlm FONT oFont ;
ACTION (oDlgAlm:End())
ACTIVATE DIALOG oDlgAlm CENTERED NOWAIT
oDlg:End()
oFont:End()
Dbcloseall()
Else
MsgInfo('Imposible abrir tablas','ERROR')
Endif
Return Nil
//--------------------------------------------------------------
Antonio Linares wrote:José Martin,
Tienes que comprender la diferencia entre caja de diálogo modales y no modales, y por otra parte el concepto de "padre" de un determinado diálogo. Si no especificas la cláusula OF, FiveWin usará como "padre" la ventana ó diálogo que en ese momento este seleccionada.
Un diálogo modal no permite cambiar a otro diálogo modal, salvo que sea "hijo" de este anterior.