Saludos de nuevo colegas del foro:
Tengo una duda:
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:
//-------------------------------------------//
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)))
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...
Gracias de antemano..
Pequeñas fallas con la clase TReport
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
- Manuel Valdenebro
- Posts: 706
- Joined: Thu Oct 06, 2005 9:57 pm
- Location: Málaga-España
Re: Pequeñas fallas con la clase TReport
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.cuatecatl82 wrote: Error DBCMD/2001 Area de trabajo no usada: DBSKIP
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?
Un saludo
Manuel
Manuel
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
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
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