timer y Folder
Posted: Sun Jul 15, 2007 3:07 am
Estimados, tengo un dialogo con un folder y necesito refrescar cada cierto tiempo el browser.
Problema.
Solo se lanza la accion del timer cuando cierro el dialogo.
Alguna Idea?
Problema.
Solo se lanza la accion del timer cuando cierro el dialogo.
Alguna Idea?
Code: Select all
#include "fivewin.ch"
#include "folder.ch"
#include "tsbrowse.ch"
#include "debug.ch"
#include "colores.ch"
//------------------------------------------------------------------------------
FUNCTION PantallaPrincipal()
LOCAL oDlg, ;
oIcono, ;
oFolder, ;
oBrw, ;
oTimer
LOCAL oQuery
DEFINE ICON oIcono RESOURCE "ICON_DIPAI"
oQuery:= GetApp():LeerTabla( { "guia.*" }, , , "idguia" )
DEFINE DIALOG oDlg RESOURCE "DLG_MENU" TITLE "prueba Direcciones útiles ::. " ICON oIcono
//----------( Folder )----------
REDEFINE FOLDER oFolder ID 114 OF oDlg ;
PROMPTS " &Padrón de datos existentes ", "&Alta, Bajas, Modificaciones",;
" Mensaje a otro usuario ", "&Datos del Usuario Actual" ;
DIALOGS "FLD_BROWSER", "FLD_ABM",;
"FLD_MENSAJES", "FLD_USUARIOS";
UPDATE
//----------( Browser )----------
REDEFINE BROWSE oBrw ID 101 OF oFolder:aDialogs[1] FONT GetFont():celda
// Identificacion
ADD COLUMN TO oBrw ;
Header "Nombre o Entidad" ;
DATA SetearColumna( oQuery, 1 );
ALIGN DT_CENTER, DT_CENTER WIDTH 200 PIXELS
ADD COLUMN TO oBrw ;
Header "Domicilio" ;
DATA SetearColumna( oQuery, 2 );
ALIGN DT_CENTER, DT_CENTER WIDTH 200 PIXELS
ADD COLUMN TO oBrw ;
Header "Teléfono" ;
DATA SetearColumna( oQuery, 3 );
ALIGN DT_CENTER, DT_CENTER WIDTH 200 PIXELS
MySetBrowse( oBrw, oQuery )
oBrw:ChangeFont( GetFont():ENCABEZADO, , 2 )
oBrw:aColumns[1]:lEdit := .F.
oBrw:aColumns[2]:lEdit := .F.
oBrw:aColumns[3]:lEdit := .F.
oBrw:nAdjColumn := 3
oBrw:lAutoEdit := .F.
oBrw:nHeightHead += 15
oBrw:nHeightCell += 8
oBrw:lNoHScroll := .T.
oBrw:lNovScroll := .F.
oBrw:Look3d( .T., , , .T. )
oBrw:SetColor( { 2, 5, 6, 15, 8 },;
{ { || If( oBrw:nLogicPos() % 2 = 0,CLR_1, CLR_2 ) },;
CLR_WHITE,;
CLR_BLUE ,;
CLR_GRAY ,;
{ | | If( oBrw:nLogicPos() % 2 = 0,CLR_1, CLR_2 ) } } )
oDlg:bStart:= { || Timer( oTimer, oBrw, oQuery, oDlg ) }
ACTIVATE DIALOG oDlg CENTERED
RETURN ( NIL )
//------------------------------------------------------------------------------
FUNCTION timer( oTimer, oBrw, oQuery, oDlg )
DEFINE timer oTimer interval 1000 of oDlg action ( RecargarBrowser( @oBrw, @oQuery ) )
ACTIVATE timer oTimer
RETURN ( NIL )
//------------------------------------------------------------------------------
// Esta accion solo se ejecuta cuando se cierra el dialogo, mientras
// el dialogo esta en pantalla no pasa nada.
FUNCTION RecargarBrowser( oBrw, oQuery )
oQuery:= GetApp():LeerTabla( { "guia.*" }, , , "idguia" )
MySetBrowse( oBrw, oQuery )
oBrw:refresh()
? "paso por aca"
RETURN ( NIL )
//------------------------------------------------------------------------------