Rafa;
Retomo este hilo porque estoy probando la clase
basándome en el ejemplo testfact.prg cosntruyo mi ejemplo así
- Code: Select all Expand view
METHOD PrnInfoCaja() // En la definición de mi clase le digo que herede de TImprime
local oSelf:= Self, ;
oFont,;
oFont1,;
aoR:= Array( iPEN ), ;
nLinea:= 0, ;
nCount:= 1
IMPRIME INIT "Cierre de Caja del "+::cFecha( hP0:dFeIni )
DEFINE PEN aoR[iPEN] WIDTH .8 OF ::oPrn
DEFINE FONT oFont NAME "Tahoma" SIZE 0,-14 BOLD OF ::oPrn
DEFINE FONT oFont1 NAME "Tahoma" SIZE 0,-10 OF ::oPrn
UTILPRN ::oUtil SELECT aoR[iPEN]
UTILPRN ::oUtil SELECT oFont1
nLinea:= 2
PAGE
UTILPRN ::oUtil MSG "Cierre de Caja del "+::cFecha( hP0:dFeIni ) ;
AT 2,7 TEXTFONT oFont ;
EXPANDBOX .5,.5 ROUND 75,75 CENTERED
while nCount < 100
UTILPRN ::oUtil nLinea+=.34,2 SAY StrZero( nCount++,3 )
ISEPARATOR
enddo
ENDPAGE
IMPRIME END .F.
aEval( aoR, {|o| if( Valtype( o ) == "O", o:End(), ) })
Este ejem. al ejecutarlo me arroja el siguiente error en ISEPERATOR (si hay algo incorrecto en mi codificación por favor corregir)
Application
===========
Path and name: D:\Fuen32\SiGeCo\fac32\Release\mgfac32.EXE (32 bits)
Size: 1,807,360 bytes
Time from start: 0 hours 0 mins 4 secs
Error occurred at: 26/01/2009, 12:26:41
Error description: Error BASE/1081 Error de argumento: +
Args:
[ 1] = N 25.50
[ 2] = L .F.
Stack Calls
===========
Called from: timprime.PRG => TCONTROLSTK:COMPLINEA(161)
Called from: timprime.PRG => TCONTROLSTK:SEPARATOR(184)
Al mirar el .ch
observo que el comando esta definido asi: ISEPARATOR [ <nSpace> ] [<lBody: BODY>] => ::Separator( <nSpace> , <.lBody.>)
;
pero el método en el fuente tiene definido parámetros numéricos: METHOD Separator( nSpace , nSuma ) CLASS TIMPRIME y de ahí el error cuando procesa nSuma
Esto fue corregido en versiones posteriores?
Por ahora lo soluciono usando el metodo en lugar del comando
muchas gracias,
Saludos