Page 1 of 1

Pequeñas fallas con la clase TReport

PostPosted: Sat Jan 19, 2008 12:37 am
by cuatecatl82
Saludos de nuevo colegas del foro:

Tengo una duda: :oops:
Tengo un dialogo con un listado en un TWBrowse, resulta que al generar los reportes previos con la Clase TReport en ocaciones, al momento de generar las paginas muestra el siguiente mensaje de error:

Error DBCMD/2001 Area de trabajo no usada: DBSKIP

Llamadas al Stack:
___________________________________________________

Llamado desde DBSKIP(0)
Llamado desde TREPORT:SKIP(1402)
Llamado desde TREPORT:PLAY(922)
Llamado desde (b)TREPORT:ACTIVATE(852)
Llamado desde (b)TDIALOG:TDIALOG(85)
Llamado desde TDIALOG:DISPLAY(0)
Llamado desde TDIALOG:HANDLEEVENT(903)
Llamado desde DIALOGBOX(0)
Llamado desde TDIALOG:ACTIVATE(270)
Llamado desde TREPORT:ACTIVATE(854)
Llamado desde IMPRIME(225)
Llamado desde (b)PRINLIST(83)



El Còdigo fuente original esta asì:
//-------------------------------------------//
METHOD SKIP( n ) CLASS TReport

STATIC lRunning := .f.

::nCounter++

IF ::bChange != nil .and. !lRunning
lRunning := .t.
EVAL( ::bChange, Self )
lRunning := .f.
ENDIF

IF ::bSkip != nil
RETURN EVAL( ::bSkip, n )
ENDIF

RETURN DBSKIP( n )
<-Aki tira el Fallo

Hize una paqueña modificacion esperando que el fallo desapareciera, pero no lo logre y quedo de la siguiente manera: :evil:

//-------------------------------------------//
METHOD SKIP( n ) CLASS TReport

STATIC lRunning := .F.

LOCAL cAliRep:= ""

::nCounter++

IF ::bChange != nil .and. !lRunning
lRunning := .T.
EVAL(::bChange, Self)
cAliRep:= ALIAS()
SysRefresh()
lRunning := .T.
ENDIF

IF ::bSkip != nil
cAliRep:= ALIAS()
RETURN EVAL( ::bSkip, n )
SysRefresh()
ENDIF

RETURN ((cAliRep)->(DBSKIP(n)))


:roll: Lo raro es que a veces funciona bien y muestra los reportes y en ocaciones casca con este fallo, alguien sabra porque se genera y como solucionarlo... :wink:

Gracias de antemano..

PostPosted: Sat Jan 19, 2008 11:16 pm
by cuatecatl82
Ups... Creo que nadie tiene este pequeño inconveniente.. :cry:

Maestro Antonio, Porfa hecheme una manita... :lol:

Se lo voy a agradecer bastante.. :D

Re: Pequeñas fallas con la clase TReport

PostPosted: Sun Jan 20, 2008 7:03 am
by Manuel Valdenebro
cuatecatl82 wrote:Error DBCMD/2001 Area de trabajo no usada: DBSKIP


En mi opinión, creo que te estás centrando en la clase Treport y quizás el problema está en el código de tu aplicación. Dices que a veces te pasa y otras no y el mensaje del error es claro: AREA DE TRABAJO NO USADA.

Se me ocurre que algo ocurre en tu aplicación que hace que Treport no encuentre (a veces) esa tabla. En el antiguo Clipper, el error DBCMD/2001 es aún mas claro: "El área de trabajo no está en uso".
¿Porque antes de llamar a la Treport no sacas un alert con un select() para ver que area de trabajo tienes activa?

PostPosted: Mon Jan 21, 2008 8:17 pm
by JOSEMAR
HOLA CHIAPAS

YO TENIA PROBLEMAS SIMILARES CON RED INHALABRICA , LE PUSE SHARED NEW A LAS APLICACIONES Y NO ME HA APARECIDO EL ERROR
ESPERO TE SIRVA EL TIP.

PostPosted: Mon Jan 21, 2008 11:26 pm
by cuatecatl82
Ok. saludos a ambos, dejenme revisar de nuevo mi codigo, de momento ya tengo problemas porque ahora ya no puedo generar ningun reporte, por lo pronto ando fuera de la ciudad, en cuanto regrese reviso y les comento...

Gracias a ambos por su colaboracion y les cmento que lo que me proponen ya lo he realizado, sin tener ningun exito al eliminar el fallo-

Saludos desde Chiapas