FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problema con unTimer y TXBrowse en una en tabla MYsql
Posts: 51
Joined: Fri Jun 30, 2006 06:56 PM
Problema con unTimer y TXBrowse en una en tabla MYsql
Posted: Sat Dec 23, 2006 03:14 AM

Olas amigos, un preguntilla de un problema ke se me vino encima y no logro dar con el asunto.

Uso un timer ke me refresca una Tabla en Mysql que tengo en un servidor, le puse el timer para que cada cierto tiempo refresque el browse, pero por alguna rason cuando le dar un click a los heders se descontrola el timer y empieza a repetirse cada segundo se cicla podria decirse.

La pregunta es porke al pulsar cuaquier header el timer se vuelve loco. pongo como he hecho la rutina

Inicio del Codigo.....

DEFINE DIALOG oWnd RESOURCE "MAIN" ICON oMAINICON TRANSPARENT ;
TITLE "Sistema Encomienda "+ oP:cIp+" Agencia "+oP:agencia+" Licencia Unica "+ oP:cEmpresa

oWnd:bRClicked = { | nRow, nCol, nFlags | UserPopup( nRow, nCol ) }

xBrowser(oDlg)

REDEFINE ACTIVEX oP:flash ID 1101 of oWnd ;
PROGID "ShockwaveFlash.ShockwaveFlash.1"

REDEFINE BUTTON obot1 ID 104 OF oWnd;
ACTION (fSal:=.t.,oWnd:End())

REDEFINE BITMAP oBtm2 ID 900 RESOURCE "ICONBUS" of oWnd TRANSPARENT

ACTIVATE DIALOG oWnd center ON INIT(mitimer(oWnd),cargaflash(),OscarMsgBar(oWnd),oBrw:setfocus())VALID fSal

oCon:END()
/
oBtm2:End()
/
Set Resources to
RETURN

**/-------------------------------------------------------------------
static function mitimer(oWnd)
DEFINE TIMER oTimer of oWnd INTERVAL 60000 ACTION TimerAction()
activate timer oTimer
return

/-------------------------------------------------------------------
static function TimerAction()
tone(20000,.5)
oQry:refresh()
oBrw:refresh()
return
/--------------------------------------------------------------------
FUNCTION xBrowser(oDlg)

oQry := oCon:oKon:Query( "SELECT guias,fecha,envia,recibe,monto,movimiento,pagado,chofer,placa,agencia_destino,entro,entrofecha,control,recibio,nrecibio,direcion,referencia,agencia_origen FROM movimientos WHERE agencia_origen='"+OP:AGENCIA+"' OR agencia_destino ='"+OP:AGENCIA+"'" )

oBrw := TXBrowse():new( oDlg )
oBrw:CreateHeader()
MySetBrowse( oBrw,oQry )

oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw:nColDividerStyle := LINESTYLE_LIGHTGRAY
oBrw:nRowDividerStyle := LINESTYLE_LIGHTGRAY
oBrw:nHeaderLines := 0

oBrw:lColDividerComplete := .F.
oBrw:nRowHeight := 23
oBrw:lfastedit := .t.
oBrw:lAllowRowSizing := .F.
oBrw:nColDividerStyle := LINESTYLE_INSET
oBrw:nHeaderLines := 1
oBrw:nFooterLines := 1
oBrw:nDataLines := 1
oBrw:lFooter := .t.
oBrw:nMinAdjustCol := 40
oBrw:bKeyDown := { | nKey | oBrwkey( nKey ) }

oBrw:bLDblClick := {|nKey| oP:Inicio:=.f.,MSGRUN( "Editando Movimiento, espere por favor ",NIL, {||editar() })}
*oBrw:bLDblClick := {|nKey| oP:Inicio:=.f.,MSGRUN( "Accesando servidor , espere por favor ",NIL, {|| TimerAction() })}

WITH OBJECT oBrw:AddCol()
:cHeader := "Guia"
:bStrData := GenCB( oQry,1 )
END

WITH OBJECT oBrw:AddCol()
:cHeader := "Fecha"
:bStrData := GenCB( oQry,2 )
END

WITH OBJECT oBrw:AddCol()
:cHeader := "Nombre Envia"
:bStrData := GenCB( oQry,3 )
END

WITH OBJECT oBrw:AddCol()
:cHeader := "Nombre Recibe"
:bStrData := GenCB( oQry,4 )
END

WITH OBJECT oBrw:AddCol()
:cHeader := "Monto"
:bStrData := GenCB( oQry,5 )
:cEditPicture := "9,999,999,999.99"
:cFooter := " "+transform(0 ,"Total Cobrado")

END

WITH OBJECT oBrw:AddCol()
:cHeader := "Tipo envio"
:bStrData := GenCB( oQry,6 )
END

WITH OBJECT oBrw:AddCol()
:cHeader := "Pago"
:bStrData := GenCB( oQry,7 )
END

WITH OBJECT oBrw:AddCol()
:cHeader := "Chofer"
:bStrData := GenCB( oQry,8 )
END

WITH OBJECT oBrw:AddCol()
:cHeader := "Unidad"
:bStrData := GenCB( oQry,9 )
END

WITH OBJECT oBrw:AddCol()
:cHeader := "Agencia destino"
:bStrData := GenCB( oQry,10 )
END

WITH OBJECT oBrw:AddCol()
:cHeader := "Entrada"
:bStrData := GenCB( oQry,11 )
END

WITH OBJECT oBrw:AddCol()
:cHeader := "Control"
:bStrData := GenCB( oQry,12 )
END

WITH OBJECT oBrw:AddCol()
:cHeader := "Q. USUARIO"
:bStrData := GenCB( oQry,13)
END

WITH OBJECT oBrw:AddCol()
:cHeader := "N. Usuario"
:bStrData := GenCB( oQry,14 )
END

*/
oBrw:CreateFromResource(905)
oBrw:setfocus()

RETURN .t.

Mi pregunta, es Si podria anular la edicion del click derecho o Izquierdo los headers de TXbrowse , asi podria talvez eviate este problema estraño.

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Problema con unTimer y TXBrowse en una en tabla MYsql
Posted: Sat Dec 23, 2006 05:13 PM

Prueba esto:

oBrw:lAllowColSwapping = .f.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 51
Joined: Fri Jun 30, 2006 06:56 PM
No no funciona.. como bloquear los headers
Posted: Sat Dec 23, 2006 06:06 PM

Garcias Antonio pero no funciono.

La Clase TXbrowse puedes con un click derecho editat los campos y poner con un check mark mostrar o esconder los headers de TXbrowse.

Aun con lo me me has enviado no desabilito el focus del header, debe de haber otro metofdo por ahi en la clase. habra algun referencia de los metodos de esta clase.. por favor

Gracias

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Problema con unTimer y TXBrowse en una en tabla MYsql
Posted: Sun Dec 24, 2006 12:31 PM

Tendrías que modificar la clase TXBrowse en los métodos LButtonDown() y RButtonDown() y añadir una nueva DATA lHeaders (ó similar) y en ambos métodos comprobar al principio si lHeaders es .F. y en tal caso hacer return nil para que no se haga nada.

No hay ninguna DATA que podamos usar de las existentes, salvo la que te he indicado en el anterior mensaje.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 51
Joined: Fri Jun 30, 2006 06:56 PM
Gracias AMigo.
Posted: Mon Dec 25, 2006 09:07 PM

Gracias intentare lo ke me has mencionado,

Felices fiestas..
Busmatic.
Costa Rica.

Continue the discussion