Ver Mensaje Individual
  #1
Antiguo 1 de mayo de 2017, 09:33
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207
Impresora Impresión códigos de escape por CMD
0 Inactivo Inactivo

Las impresoras nunca han sido mi punto fuerte. Hace unos días uno de mis clientes se cambió a Windows 7 x64 y le dejó de funcionar mi DLL compilada en NetExpress 3.1 que imprimía los tickets.

La imresión se hacía de manera clásica:

Código COBOL:
  1.  SELECT PRINT-FILE
  2.  ASSIGN TO PRINTER WS-PUERTO

No logré hacerlo funcionar, siempre me daba FS=9. Luego encontré este artículo de MF, según el cual el Run-Time de NetExpress inferior a la versión 5.1 daba este problema: Runtime error 9/013 when attempting to print to LPTn: where the physical printer port is mapped via a NET USE statement on Windows 7 - Enterprise Server Knowledge Base - Enterprise Server - Micro Focus Community

También en ese artículo dicen de utilizar las rutinas para imprimir vía Windows, pero yo nunca las he usado: Demo - The PC_PRINTER library routines - Net Express/Server Express Knowledge Base - Net Express / Server Express - Micro Focus Community


Así que para solucionar rápidamente el tema, lo que hice fue escribir en un fichero TXT y luego lanzar el comando siguiente en PowerCOBOL:

Código COBOL:
  1.          MOVE SPACES TO TICK-PRINT
  2.          
  3.          STRING "CMD /c Type Print.txt>" LNK-PORT
  4.              DELIMITED BY SIZE INTO TICK-PRINT
  5.          
  6.          INVOKE POW-SELF "Execute" USING TICK-PRINT POW-SWHIDE

Y funciona. El problema es que han dejado de funcionar los códigos de escape (apertura de cajón, y comandos de diferentes tamaños de letras).

¿A qué se debe esto, es por el tema de pasar por un TXT en vez de llamar directamente la impresora o se debe configurar la impresora de alguna forma particular?

Gracias de antemano por vuestras respuestas.


Dasije, Rapinto, Nitzer,



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita