FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Get con BITMAP
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Get con BITMAP
Posted: Tue Jul 21, 2009 09:14 PM
Hola a todos

Me parece que el Get tiene un error cuando se da doble click en el browse que llama el boton
Dando INTRO no hay problema, tengo Fivewin 9.04
A veces no sale el error.

Code (fw): Select all Collapse
   REDEFINE GET oGet VAR oDBF:NITCI ID 104 OF oDlg BITMAP "BUSCAR" 
         ACTION (BuscaNITS("NITS",oGet,oDlg);
          iif(EMPTY(oDbf:NITCI),oDlg:aControls[5]:SetFocus(),oDlg:aControls[7]:SetFocus()) )

sale el siguiente error:

Error description: Error BASE/1111 Error de argumento: LEN
Args:
[ 1] = U

Stack Calls
===========
Called from: => LEN(0)
Called from: .\source\classes\TGET.PRG => TGET:LBUTTONUP(1566)
Called from: => TWINDOW:HANDLEEVENT(0)
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT(1453)
Called from: .\source\classes\TGET.PRG => TGET:HANDLEEVENT(588)
Called from: .\source\classes\WINDOW.PRG => _FWH(3333)
Called from: => DIALOGBOX(0)
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE(273)
Called from: D:\Sistemas\CONTAB\FACTURAS\PRG\FACTU11.PRG => PIDDATCOB(0)

Gracias amigos por la ayuda

Saludos cordiales

Adhemar
Saludos,



Adhemar C.
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Get con BITMAP
Posted: Wed Jul 22, 2009 01:32 PM
Saludos para todos

He realizado muchos cambios y me sigue saliendo el error, me rindo, necesito ayuda.

aqui el browse que llama el boton
Code (fw): Select all Collapse
FUNCTION BuscaNITS(cAlias,oGet,oDlgx)
     Local oVar, oDlg, oBrw3, lOk:= .F. ,xClave:=""
     Local nTopD:=oGet:nTop(),nLeftD:=oGet:nLeft()
     Local aRect:= GetWndRect( oDlgx:hWnd )
     
     DbSelectArea( cAlias )
     dbGotop()
    
    DEFINE DIALOG oDlg FROM 0,0 TO 219,258 PIXEL STYLE nOr( WS_VISIBLE, WS_POPUP ) 
    oBrw3 := TXBrowse():New( oDlg )
  
    oBrw3:nMarqueeStyle:=MARQSTYLE_HIGHLROW
    oBrw3:lHScroll:= .f.
    oBrw3:nRowDividerStyle:= 0
    oBrw3:lRecordSelector := .f.
   oBrw3:bLDblClick:={ || ( lOk:=.T., oDlg:End() ) }
      
   oCol:=oBrw3:AddCol()
   oCol:bStrData := { || CN_NOM }
    oCol:cHeader  := "NOMBRE"
    oCol:nWidth:=172
       
    oCol:=oBrw3:AddCol()
    oCol:bStrData := { || CN_RUC }
    oCol:cHeader  := "NIT/CI "
    oCol:nHeadStrAlign:=AL_RIGHT
    oCol:nWidth:=66
                    
    oBrw3:CreateFromCode()
    
    oBrw3:bKeyDown := {|nKey| iif( nKey >=96 .AND. nKey <=105, nKey-= 48, ), iif( nKey == VK_ESCAPE, (oDlg:End()),Nil ), ;
        iif( nKey == VK_RETURN,(lOk:= .t.,oDlg:End()),  ), ;
        iif( nKey == VK_BACK,( xClave:= SUBSTR( xClave,1,LEN( xClave )-1 ), iif(EMPTY(xClave),oBrw3:GoTop(),dBSeek( xClave )), oBrw3:Refresh(), oVar:Refresh() ), ), ;
        iif( nKey>=32 .AND. nKey<=128,(dBSeek( xClave+UPPER(CHR(nKey) ) ),iif( !EOF(), xClave+=UPPER(CHR(nKey)), ),dBSeek(xClave),oBrw3:Refresh(),oVar:Refresh() ),)};

       @2,46 GET oVar VAR xClave SIZE 45,8 PIXEL OF oDlg READONLY UPDATE 
    
      ACTIVATE DIALOG oDlg ON INIT (oDlg:Move(aRect[1]+nTopD+44,aRect[2]+nLeftD+3),oBrw3:Move(0,0,oDlg:nWidth(),oDlg:nHeight()-3));
              VALID ( iif( lOk, (oDBF:NITCI:=NITS->CN_RUC,oDbf:CLIENTE:=NITS->CN_NOM), ), .T. )
     
oFont:End() 
Return Nil


Gracias amigos por la ayuda

Adhemar
Saludos,



Adhemar C.

Continue the discussion