Karinha:
Gracias por tu respuesta!
Es un Dialog dentro de un Window (MdiChild) con solo dos Gets y un xBrowse, no hay buttons.
Saludos
Jos茅 Luis:
Tambi茅n gracias por tu respuesta, el problema sigue a煤n con tu sugerencia.
Saludos
Amigos:
Gracias a sus aportaciones he encontrado al culpable del loop.
聽 聽 DEFINE FONT oFont NAME "MS Sans Serif" SIZE 0,-10
聽 聽 DEFINE FONT oFont1 NAME "Arial" SIZE 0,-18
聽 聽 DEFINE ICON oIcono RESOURCE "AppLogo"
聽 聽 DEFINE WINDOW oWnd MDICHILD OF oWindow FROM 0,0 TO 10,10;
聽 聽 聽 聽 TITLE "Caracter铆sticas de la n贸mina" ICON oIcono
//聽 聽 聽 oWnd:bGotFocus 聽= { || oBrw:SetFocus() } Esta l铆nea es la culpable, coment谩ndola adi贸s loop, la maldita "ceguera de taller"
聽 聽 聽 聽 DEFINE DIALOG oDlg RESOURCE "BrwCar" OF oWnd FONT oFont ICON oIcono
聽 聽 聽 聽 聽 聽 REDEFINE COMBOBOX aGets[01] VAR nTip ID 101 OF oDlg UPDATE;
聽 聽 聽 聽 聽 聽 聽 聽 PICTURE "@9K";
聽 聽 聽 聽 聽 聽 聽 聽 PROMPTS acTip;
聽 聽 聽 聽 聽 聽 聽 聽 ON CHANGE LimCar(oDlg,oBrw,aGets,aSays);
聽 聽 聽 聽 聽 聽 聽 聽 MESSAGE "Elija el tipo de n贸mina"
聽 聽 聽 聽 聽 聽 REDEFINE GET aGets[02] VAR nPer ID 102 OF oDlg UPDATE;
聽 聽 聽 聽 聽 聽 聽 聽 BITMAP "Bus16";
聽 聽 聽 聽 聽 聽 聽 聽 ACTION nPer := BrwPer(oDlg);
聽 聽 聽 聽 聽 聽 聽 聽 VALID ValPer(oDlg,oBrw,aGets,aSays);
聽 聽 聽 聽 聽 聽 聽 聽 PICTURE "99";
聽 聽 聽 聽 聽 聽 聽 聽 MESSAGE "Periodo de n贸mina"
聽 聽 聽 聽 聽 聽 REDEFINE SAY aSays[01] VAR cFechas ID 103 OF oDlg FONT oFont1 UPDATE
聽 聽 聽 聽 聽 聽 oBrw:=TxBrowse():New(oDlg)
聽 聽 聽 聽 聽 聽 oBrw:nMarqueeStyle聽 聽 聽 聽 聽 := MARQSTYLE_HIGHLROW聽 聽聽 聽 // Con cursor de todo el rengl贸n
聽 聽 聽 聽 聽 聽 oBrw:nColDividerStyle聽 聽聽 聽 := LINESTYLE_LIGHTGRAY
聽 聽 聽 聽 聽 聽 oBrw:nRowDividerStyle聽 聽聽 聽 := LINESTYLE_LIGHTGRAY
聽 聽 聽 聽 聽 聽 oBrw:lColDividerComplete聽 聽 := (.F.)聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // (.T.) Matiene siempre llena la pantalla
聽 聽 聽 聽 聽 聽 oBrw:nHeaderHeight聽 聽 聽 聽 聽 := 25聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // Altura de los encabezados
聽 聽 聽 聽 聽 聽 oBrw:nRowHeight聽聽 聽 聽 聽 聽 聽 := 22聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // Altura del rengl贸n
聽 聽 聽 聽 聽 聽 oBrw:nHeaderLines聽 聽聽 聽 聽 聽 聽 聽 := 1聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // N煤mero de l铆neas de encabezados
聽 聽 聽 聽 聽 聽 oBrw:nDataLines聽聽 聽 聽 聽 聽 聽 := 1聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // N煤mero de l铆neas de detalle
聽 聽 聽 聽 聽 聽 oBrw:nFooterHeight聽 聽 聽 聽 聽 := 20聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // Altura del footer
聽 聽 聽 聽 聽 聽 oBrw:nFooterLines聽 聽聽 聽 聽 聽 聽 聽 := 1聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // N煤mero de l铆neas en el footer
聽 聽 聽 聽 聽 聽 oBrw:lFastEdit聽 聽 聽 聽 聽 聽 聽 聽 聽 := (.T.)聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // Edici贸n por celdas
聽 聽 聽 聽 聽 聽 oBrw:lFooter聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 := (.T.)聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // S铆 queremos l铆nea de footer
聽 聽 聽 聽 聽 聽 oBrw:lHScroll聽 聽聽 聽 聽 聽 聽 聽 聽 聽 := (.F.)聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // Quitamos el scroll horizontal
聽 聽 聽 聽 聽 聽aCol[ 1]聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 := oBrw:AddCol()
聽 聽 聽 聽 聽 聽 aCol[ 1]:bStrData 聽聽聽 聽 聽 聽 := { || IF(oRsCar:BOF() .AND. oRsCar:EOF(),SPACE(1),TRANSFORM(oRsCar:Fields("CAR_CON"):Value,"@Z 999"))}
聽 聽 聽 聽 聽 聽 aCol[ 1]:cHeader 聽聽 聽 聽 聽 聽 := "Concepto"
聽 聽 聽 聽 聽 聽 aCol[ 1]:nHeadStrAlign聽 聽 聽 := AL_RIGHT
聽 聽 聽 聽 聽 聽 aCol[ 1]:nDataStrAlign聽 聽 聽 := AL_RIGHT
聽 聽 聽 聽 聽 聽 aCol[ 1]:nWidth聽聽 聽 聽 聽 聽 聽 := 55
聽 聽 聽 聽 聽 聽aCol[ 2]聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 := oBrw:AddCol()
聽 聽 聽 聽 聽 聽 aCol[ 2]:bStrData 聽聽聽 聽 聽 聽 := { || IF(oRsCar:BOF() .AND. oRsCar:EOF(),SPACE(1),oRsCar:Fields("CON_DES"):Value)}
聽 聽 聽 聽 聽 聽 aCol[ 2]:cHeader 聽聽 聽 聽 聽 聽 := "Descripci贸n"
聽 聽 聽 聽 聽 聽 aCol[ 2]:nHeadStrAlign聽 聽 聽 := AL_LEFT
聽 聽 聽 聽 聽 聽 aCol[ 2]:nDataStrAlign聽 聽 聽 := AL_LEFT
聽 聽 聽 聽 聽 聽 aCol[ 2]:nWidth聽聽 聽 聽 聽 聽 聽 := 295
聽 聽 聽 聽 聽 聽aCol[ 3]聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 := oBrw:AddCol()
聽 聽 聽 聽 聽 聽 aCol[ 3]:bStrData 聽聽聽 聽 聽 聽 := { || IF(oRsCar:BOF() .AND. oRsCar:EOF(),SPACE(1),TRANSFORM(oRsCar:Fields("CAR_UNI"):Value,"@Z 99.99"))}
聽 聽 聽 聽 聽 聽 aCol[ 3]:cHeader 聽聽 聽 聽 聽 聽 := "Unidds"
聽 聽 聽 聽 聽 聽 aCol[ 3]:nHeadStrAlign聽 聽 聽 := AL_RIGHT
聽 聽 聽 聽 聽 聽 aCol[ 3]:nDataStrAlign聽 聽 聽 := AL_RIGHT
聽 聽 聽 聽 聽 聽 aCol[ 3]:nWidth聽聽 聽 聽 聽 聽 聽 := 45
聽 聽 聽 聽 聽 聽aCol[ 4]聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 := oBrw:AddCol()
聽 聽 聽 聽 聽 聽 aCol[ 4]:bStrData 聽聽聽 聽 聽 聽 := { || IF(oRsCar:BOF() .AND. oRsCar:EOF(),SPACE(1),IIF(oRsCar:Fields("CAR_POD"):Value == 1,"P","D"))}
聽 聽 聽 聽 聽 聽 aCol[ 4]:cHeader 聽聽 聽 聽 聽 聽 := "P/D"
聽 聽 聽 聽 聽 聽 aCol[ 4]:nHeadStrAlign聽 聽 聽 := AL_LEFT
聽 聽 聽 聽 聽 聽 aCol[ 4]:nDataStrAlign聽 聽 聽 := AL_CENTER
聽 聽 聽 聽 聽 聽 aCol[ 4]:nWidth聽聽 聽 聽 聽 聽 聽 := 40
聽 聽 聽 聽 聽 聽 oBrw:blDblClick 聽 聽 聽 聽 聽聽 聽:= { | nRow, nCol, nKey | Editar(oBrw)}
聽 聽 聽 聽 聽 聽 oBrw:bKeyDown 聽 聽 聽 聽 聽 聽聽 聽:= { | nKey, nFlags | IIF(nKey == VK_RETURN,Editar(oBrw),)}
聽 聽 聽 聽 聽 聽oBrw:l2007聽 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 := (.F.)
聽 聽 聽 聽 聽 聽 oBrw:nStretchCol 聽 聽聽 聽 聽 聽 聽 聽 := STRETCHCOL_LAST
聽 聽 聽 聽 聽 聽 oBrw:bClrHeader聽:= { || {CLR_WHITE,CLR_BLACK} }
聽 聽 聽 聽 聽 聽 oBrw:bClrFooter聽:= { || {CLR_WHITE,CLR_BLACK} }
聽 聽 聽 聽 聽 聽 oBrw:nRecSelColor聽 聽:= oApp:nRowParClr聽 聽 聽 聽 聽 聽 聽 聽 聽 // Triangulo de selecci贸n
聽 聽 聽 聽 聽 聽 oBrw:bClrSel聽 聽 聽 聽 := {|| IF( oRsCar:AbsolutePosition % oApp:nRowsInt == 0 ,{ CLR_BLACK, oApp:nRowParClr },{ CLR_BLACK, oApp:nRowNonClr }) }
聽 聽 聽 聽 聽 聽 oBrw:bClrSelFocus聽 聽:= { || {oApp:nFClrFocus,oApp:nBClrFocus} }
聽 聽 聽 聽 聽 聽 oBrw:bGoTop 聽 聽:= { || IF( ! oRsCar:BOF() .AND. ! oRsCar:EOF(), oRsCar:MoveFirst(), ) }
聽 聽 聽 聽 聽 聽 oBrw:bGoBottom := { || IF( ! oRsCar:BOF() .AND. ! oRsCar:EOF(), oRsCar:MoveLast(), ) }
聽 聽 聽 聽 聽 聽 oBrw:bBof 聽 聽 聽:= { || oRsCar:BOF() }
聽 聽 聽 聽 聽 聽 oBrw:bEof 聽 聽 聽:= { || oRsCar:EOF() }
聽 聽 聽 聽 聽 聽 oBrw:bBookMark := { | uBm | IF( oRsCar:BOF() .AND. oRsCar:EOF(), 0, IF( uBm == NIL, oRsCar:BookMark, oRsCar:BookMark := uBm ) ) }
聽 聽 聽 聽 聽 聽 oBrw:bKeyNo 聽 聽:= { | n | IF( oRsCar:BOF() .AND. oRsCar:EOF(), 0, IF( n == NIL, oRsCar:AbsolutePosition, oRsCar:AbsolutePosition := n ) ) }
聽 聽 聽 聽 聽 聽 oBrw:bKeyCount聽 := {|| oRsCar:RecordCount() }
聽 聽 聽 聽 聽 聽 oBrw:SetAdo(oRsCar)
聽 聽 聽 聽 聽 聽 oBrw:bClrStd聽 聽 := {|| IF( oRsCar:AbsolutePosition % oApp:nRowsInt == 0 ,{ CLR_BLACK, oApp:nRowParClr },{ CLR_BLACK, oApp:nRowNonClr }) }
聽 聽 聽 聽 聽 聽 oBrw:nRecSelColor聽 聽:= oApp:nRowParClr
聽 聽 聽 聽 聽 聽 oBrw:CreateFromResource(200)
聽 聽 聽 聽 ACTIVATE DIALOG oDlg NOWAIT ON INIT oDlg:MOVE(0,0) VALID ! GetASyncKey(VK_ESCAPE)
聽 聽 ACTIVATE WINDOW oWnd ON RESIZE ( IF( oWnd<>NIL, oWnd:SETSIZE(oDlg:nWidth,oDlg:nHeight+29), ));
聽 聽 聽 聽 ON INIT LaBarra(oWnd,oDlg,oBrw) VALID Cierra()
Muchas gracias por su apoyo