Lo que sucede ahora es lo siguiente:
Defino un dialogo , y en la clausula INIT coloco un procedimiento, ese procedimiento lo que hace es verificar la existencia de las bases de datos. Pero solamente me muestra el dialogo apenas termina el procedimiento.
Como hago para que me muestre el dialogo y luego ejecue el procedimiento.
Code: Select all
*************************************************************
*cuadro de dialogo para verificación conexion con el servidor
*************************************************************
PROC Inicio()
oT1vg1:=space(15)
oT1vg2:=space(6)
DEFINE BRUSH oBrush RESOURCE "INICIO"
DEFINE DIALOG oDlg RESOURCE "Plano10" TRANSPARENT BRUSH oBrush OF oWinp
oProgress = TProgress():Redefine( 4001, oDlg )
REDEFINE SAY oT1os1 ID 15 OF oDlg UPDATE
REDEFINE SAY oT1os2 ID 4002 OF oDlg
REDEFINE SAY oT1os3 ID 4004 OF oDlg
REDEFINE SAY oT1os4 ID 4005 OF oDlg
REDEFINE SAY oT1os5 ID 4003 OF oDlg
REDEFINE SAY oT1os6 ID 4007 OF oDlg
REDEFINE GET oT1og1 VAR oT1vg1 ID 4006 OF oDlg
REDEFINE GET oT1og2 VAR oT1vg2 ID 4008 OF oDlg
REDEFINE BUTTONBMP BtnE ID 4009 OF oDlg ACTION pVerUsu()
REDEFINE BUTTONBMP BtnS ID 4010 OF oDlg ACTION (oWinp:End())
oProgress:SetRange( 0, 2 )
oProgress:SetPos( 0 )
BtnE:Settext("Entrar")
BtnS:Settext("Cancelar")
oT1og1:bGotFocus:={||oT1og1:SelectAll()}
oT1og2:bGotFocus:={||oT1og2:SelectAll()}
BtnE:gotfocus()
ACTIVATE DIALOG oDlg CENTERED VALID(oLamcla:vPPexit) ON INIT (oDlg:gotfocus(),verifica())
PROC verifica()
oProgress:SetRange( 0, 2 )
oProgress:SetPos( 0 )
oLamcla:vPPexit:=.F.
oT1os2:Settext("HOSTING - Versión 0.0.1")
oT1os3:Settext("Sistemas LYMA ")
oT1os4:Settext("Bogotá (Colombia) - Año 2006")
oLamcla:oServer := TMySQLServer():New( oLamcla:cHost,oLamcla:cUsuario,oLamcla:cPassword)
IF oLamcla:oServer:NetErr()
oT1os1:Settext("No se Puede Extablecer Comunicación Con el Servidor")
MSGINFO("No se PuedO Extablecer Comunicación Con el Servidor")
QUIT
ELSE
oT1os1:Settext("Verificando Conexion con servidor")
oProgress:nPosition += 1
IF !(oLamcla:oServer:DBExist(oLamcla:nDBdat))
oT1os1:Settext("La base de Datos no existe")
MSGINFO("La base de datos no existe,"+CRLF+"por favor informe al administrador: 6136913 Ext 114 "+CRLF+"Bogotá - Colombia")
QUIT
ELSE
oProgress:nPosition += 1
oT1os1:Settext("Fin del Proceso")
oDlg:update()
muestra()
ENDIF
oLamcla:oServer:SelectDB( oLamcla:nDBdat )
ENDIF