Error Base 1004

Ver el tema anterior Ver el tema siguiente Ir abajo

Error Base 1004

Mensaje  citro1965 el Mar Mayo 31, 2011 1:43 pm

Finalmente pude compilar todo el proyecto que tiene casi 800 archivos con xedit y xharbour. El programa se ejecuta bien, pero hay un módulo de consulta de cta. cte. que utiliza un tbrowse para mostrar esa información y pasa que si me muevo con las teclas de dirección, pg-down o pg-up, funciona bien, pero se me dió por pulsar ctrl-pg-down y apareció este error:

Error BASE 1004
Class: 'NIL' has no exported method

Y me cancela ahí
abajo pongo parte del código que genera el error:

static Function Mostrar( titulo,t,l,b,r,mcampo,lmodif,xfilter )

local key,tb,cPanta,bAccion,nValPen

if Empty( titulo )
titulo := ""
endif

if t == Nil
CenterWindow( @t,@l,@b,@r,18,78 )
endif

if( lmodif == NIL, lmodif:=.f., lmodif )
if( xfilter == NIL,xfilter:={|| .t. },xfilter )

cPanta:=savescreen()
Window( titulo, t, l, b, r,,,.f. )

@ t+1,l+2 say "Saldo anterior: " +str( saldoant,12,2 )
// @ t+1,l+40 say "Saldo anterior en u$s: " +str( saldod,12,2 )
tb := TBrowseNew( t+2,l+1,b-1,r-1 )
tb:gotopblock:={|| xgotop( ,,,xfilter ) }
tb:skipblock :={|i| xskip( i,,,,xfilter ) }
tb:goTop()

tb:addColumn( TbColumnNew( "Fecha",{|| trans->fecha } ) )
tb:addColumn( TbColumnNew( "C¢digo",{|| substr( comprob( trans->Codigo) +;
space(7),1,7 ) } ) )
tb:getColumn( tb:colCount ):width := 8

tb:addColumn( TbColumnNew( "Nr Comp",{|| left( trans->comp,4 ) +"-" +;
substr( trans->comp,5 ) } ) )

tb:addColumn( TbColumnNew( "Vence",{|| trans->vence } ) )
// tb:addColumn( TbColumnNew( "Descuento",{|| XNout( trans->descuento ) } ) )
tb:addColumn( TbColumnNew( "Debe;$",{|| xNout( trans->debe ) } ) )
tb:addColumn( TbColumnNew( "Haber;$",{|| xNout( trans->haber ) } ) )
tb:addColumn( TbColumnNew( "Saldo;$",{|| trans->saldo } ) )
tb:addColumn( TbColumnNew( "Cotiz.",{|| xNout( trans->cotizac,6 ) } ) )
tb:addColumn( TbColumnNew( "Debe;u$s",{|| xNout( trans->debed ) } ) )
tb:addColumn( TbColumnNew( "Haber;u$s",{|| xNout( trans->haberd ) } ) )
tb:addColumn( TbColumnNew( "Saldo;u$s",{|| trans->saldod } ) )

tb:headsep:=chr( 196 )

while .t.
key := 0
dispbegin()
if valtype( mcampo ) = "A"
@ b,l+1 say padc( mcampo[1],r-l-1,chr(196) ) color getuncolor()
@ b+1,l+1 say padc( mcampo[2],r-l-1,chr(196) ) color getuncolor()
else
@ b,l+1 say padc( mcampo,r-l-1,chr(196) ) color getuncolor()
end if
while !tb:stabilize() .AND. Key == 0
Key:= Inkey()
end
dispend()

IF Key == 0
Key := Inkey(0)
ENDIF

tb:applykey( key )

if key == K_ESC .or. key == 0
exit
end if

if key == K_ENTER .and. lmodif
doget( tb )
elseif key == K_DEL .and. lmodif .and. Confirma( "¨ Elimina registro ?" )
DbDelete()
tb:refreshall()
elseif key == K_ALT_P
nValPen:=0
VeValPen( nValPen )
elseif (bAccion:=setkey( key ) ) != NIL
eval( bAccion )
end if

end

restscreen( ,,,,cPanta )

return Nil

citro1965

Mensajes : 11
Fecha de inscripción : 30/05/2011

Ver perfil de usuario

Volver arriba Ir abajo

Re: Error Base 1004

Mensaje  byrpa el Miér Jun 29, 2011 12:45 am

Hace un tiempo tuve un problema con el tbrowse y despues de investigar un poco puse aqui la forma de como me funciono:

http://harbour.foroslatinos.net/t30-como-usar-el-tbrowse

espero te sirva,

saludos,

byron

byrpa

Mensajes : 63
Fecha de inscripción : 19/11/2008

Ver perfil de usuario

Volver arriba Ir abajo

Re: Error Base 1004

Mensaje  citro1965 el Miér Jun 29, 2011 10:07 am

Funcionó gracias al ejemplo del uso del tbrowse de la página que pusiste, o sea reemplacé el tb:applykey() por el inkey() y lo que hace cada tecla según los case. Gracias.

citro1965

Mensajes : 11
Fecha de inscripción : 30/05/2011

Ver perfil de usuario

Volver arriba Ir abajo

Re: Error Base 1004

Mensaje  Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.