Problema con unTimer y TXBrowse en una en tabla MYsql

Problema con unTimer y TXBrowse en una en tabla MYsql

Postby busmatic » Sat Dec 23, 2006 3: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.
User avatar
busmatic
 
Posts: 51
Joined: Fri Jun 30, 2006 6:56 pm

Postby Antonio Linares » Sat Dec 23, 2006 5:13 pm

Prueba esto:

oBrw:lAllowColSwapping = .f.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41411
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

No no funciona.. como bloquear los headers

Postby busmatic » Sat Dec 23, 2006 6: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
User avatar
busmatic
 
Posts: 51
Joined: Fri Jun 30, 2006 6:56 pm

Postby Antonio Linares » 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
User avatar
Antonio Linares
Site Admin
 
Posts: 41411
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Gracias AMigo.

Postby busmatic » Mon Dec 25, 2006 9:07 pm

Gracias intentare lo ke me has mencionado,

Felices fiestas..
Busmatic.
Costa Rica.
User avatar
busmatic
 
Posts: 51
Joined: Fri Jun 30, 2006 6:56 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 33 guests