Page 1 of 1

TPrinter error "cannot create window or control"

Posted: Wed Nov 03, 2010 7:26 pm
by leondefrancia
Amigos del foro, tengo el siguiente inconveniente pasando el módulo de impresión del sistema de TDosPrn a TPrinter.
Probando solamente con el siguiente código me produce error:

PRINT oPrn PREVIEW
PAGE
oPrn:Say( 10, 10, "mensaje de prueba")
ENDPAGE
ENDPRINT

El mensaje es el siguiente:
Error Description: "Error FiveWin/6 Cannot create window or control"
System Error: "No se ha encontrado la clase de ventana"
Clase: TBar

Lo que pude seguir del error es que se produce en RPreview:BuildButtonBar() en la línea:
DEFINE BUTTONBAR oBar _3D SIZE 26, If( LargeFonts(), 26, 30) OF ::oWnd

Re: TPrinter error "cannot create window or control"

Posted: Thu Nov 04, 2010 12:59 am
by FranciscoA
Prueba así:
PRINT oPrn NAME "RecCaja" PREVIEW //FROM USER

Saludos

Re: TPrinter error "cannot create window or control"

Posted: Thu Nov 04, 2010 12:30 pm
by leondefrancia
Francisco, gracias por la sugerencia, probé lo que mencionas pero se sigue produciendo el mismo error.
Si comento la línea que llama a ::BuildButtonBar() alcanza a mostrame la previsualización bien ,pero sin la botonera (solo el menú) y luego se cuelga.
Se te ocurre algo más para probar? La verdad que estoy bastante perdido con este tema.

Re: TPrinter error "cannot create window or control"

Posted: Wed Nov 10, 2010 12:55 pm
by leondefrancia
Amigos del foro, pese a que sigo con el error anterior, se me a sumado otro problema.
La primera vez que visualizo un reporte (con RPreview) se ve muy mal (por ej: los renglones amontonados) pero si genero nuevamente el reporte y vuelvo a visualizar se ve correctamente.
Hay manera de que se redibuje antes de activarse?

Re: TPrinter error "cannot create window or control"

Posted: Wed Nov 10, 2010 2:32 pm
by FranciscoA
Leo, ¿estás usando un rPreview modificado? ¿Qué versión de FWH estás utilizando?
Saludos

Re: TPrinter error "cannot create window or control"

Posted: Wed Nov 10, 2010 5:42 pm
by leondefrancia
Francisco uso como libreria: FWH/FWHX 9.11 25/November/2009, es la original. La retoqué para poder seguir avanzando porque me produce error el método ::BuildButtonBar() específicamente la línea DEFINE BUTTONBAR oBar _3D SIZE 26, If( LargeFonts(), 26, 30) OF ::oWnd, la cual en un momento dado realiza un CreateWindow() y ahí se pincha. Solo comenté la llamada a ese método para poder seguir avanzando y volver sobre este tema a lo último.

Ahora me surge que imprime correctamente, envío a una impresa pdf y se genera muy bien, pero cuando quiero previsualizar la primera vez se muestra mal, repito la operación y ahí se ve más legiblemente el texto.

Se te ocurre algo para probar que se me esté pasando por alto?

Re: TPrinter error "cannot create window or control"

Posted: Wed Nov 10, 2010 6:10 pm
by FranciscoA
Que raro. Estuve hojenado el "WhatsNew", y desde Julio/2009 hasta Enero/2010 no aparece ninguna corrección a posibles bugs.
Pon tu email y te enviaré una copia del preview que actualmente uso, para que pruebes. Recuerda que debes agregarlo a tu proyecto como un .prg más.
Saludos.

Re: TPrinter error "cannot create window or control"

Posted: Wed Nov 10, 2010 6:23 pm
by leondefrancia
Francisco mi mail es jalomar@evosistemas.com.ar, desde ya muchas gracias.

Re: TPrinter error "cannot create window or control"

Posted: Wed Nov 10, 2010 9:36 pm
by wmormar
leondefrancia,

Hola,

Alguna vez me pasó ese error y fue porque mi prev32.dll estaba dañada, lo que hice fue copiar la dll desde la carpeta de las dll donde se instaló FWH y con eso se solucionó.

Esperemos tu problema sea por eso, porque como dicen en los post anterior, a la tprinter o treport o tpreview no se han hecho modificaciones recientemente.

Re: TPrinter error "cannot create window or control"

Posted: Fri Nov 12, 2010 12:59 pm
by leondefrancia
Gracias francisco por tu buena predisposición, la clase esta igual a la que tenía. Con esto descarté la posibilidad de que hubiera correcciones o mejoras, por lo tanto estoy haciendo algo mal.
Uno de mis inconvenientes radica en que en los ejemplos la persona imprime o visualiza y en mi caso nescesito realizar ambas tareas al mismo tiempo.
La estructura lógica en este momento es la siguiente

Creo los dos objetos oPrnImp y oPrnPan
oPrnPan:= TPRINTER():New("Reporte", .F., .T., Nil, .T.)
oPrnPan:SetPage(9)

oPrnImp:= TPRINTER():New("Reporte", .F., Nil, "Impresora")
oPrnImp:SetPage(9)

Configuro ambas resoluciones
nC:= oPrnImp:nHorzRes()/80
nF:= oPrnImp:nVertRes()/68

nCP:= oPrnPan:nHorzRes()/80
nFP:= oPrnPan:nVertRes()/68

Defino los font a utilizar (hay algunos más para negrita normal y negrita condensada)
DEFINE FONT oFontR NAME "Courier" SIZE 0,-12 OF oPrnImp
ACTIVE FONT oFontR
DEFINE FONT oFontC NAME "Courier" SIZE 0,-6.6 OF oPrnImp
ACTIVE FONT oFontC

DEFINE FONT oFontRP NAME "Courier" SIZE 0,-12 OF oPrnPan
ACTIVE FONT oFontRP
DEFINE FONT oFontCP NAME "Courier" SIZE 0,-6.6 OF oPrnPan
ACTIVE FONT oFontCP

oFontX:= oFontR
oFontXP:= oFontRP

oPrnPan:StartPage()
oPrnImp:StartPage()

Aca llamo a una función que evalúa el contenido del string a imprimir y lo único que realiza es ir cambiando el tipo de fonts para el say.
oPrnPan:Say(nRow * nFP, nCol * nCP, "Texto")
oPrnImp:Say(nRow * nF, nCol * nC, "Texto")

oPrnPan:EndPage()
oPrnImp:EndPage()

oPrnPan:Preview()
oPrnPan:End()
oPrnImp:End()

TPreview me produce un error, cuando crea la barra de botones. Ayer traté de encontrar la manera de crear un pdf y visualizarlo pero FiveWin no trae una manera transparente de hacerlo, hay que tener una dll de terceros, sigo investigando que hacer, bajé la de M. Mercado pero no pude compilarla para poder probarla.

Probé Wormar actualizando la dll pero sucede lo mismo, no se ya que probar.

Re: TPrinter error "cannot create window or control"

Posted: Fri Nov 12, 2010 10:45 pm
by FranciscoA
leondefrancia, ¿a qué te refieres cuando dices "necesito realizar ambas tareas al mismo tiempo"? . Puedo estar equivocado, pero me parece que deseas que la pantalla del preview se vaya llenando a medida que avanza la impresión. ¿Es así?
Porque de la manera corriente, se crean todas las páginas del preview, y mientras imprimes puedes estar visualizando la que desees, y además, puedes enviar a impresión la que quieras.

Si me envías el prg completo donde envías la impresión, talvez pueda ayudarte.
Saludos.

Error en RPREVIEW

Posted: Fri Feb 25, 2011 4:15 pm
by leondefrancia
Amigos del foro, sigo con el inconveniente en rpreview que se produce en el método ::BuildButtonBar() específicamente la línea DEFINE BUTTONBAR oBar _3D SIZE 26, If( LargeFonts(), 26, 30) OF ::oWnd, la cual en un momento dado realiza un CreateWindow() y ahí se pincha el sistema, ha alguien le sucedió algo similar y me podrá ayudar?