Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Manejo OCX impresora Fiscal Epson nueva generación (https://www.cobolforo.es/showthread.php?t=601)

fastpho 4 de enero de 2018 23:38

Laura, Hola!!! te molesto otra vez xq no hay manera q me funcione la DLL en mi programa. Te comento, estoy usando pwc versión 7.. vos cuál usas?

Creé mi cobol85.cbr igual al q vos me indicaste, copié la DLL en la release (y x las dudas también en la del proyecto)

Hice la prueba con el comando de setear el puerto moviéndolo a una variable y sin moverlo, y cuando lo ejecuto me da el siguiente error:

JMP0015I-U [PID:000011A8 TID:00000698] CANNOT CALL PROGRAM 'setComPort'. CODE=0x7e PGM=PRUEBA ADR=0040173F


mi código es el sgte:

Código COBOL:
  1. move spaces TO FUNC-EPSON-LIB.
  2. MOVE "setComPort" TO FUNC-EPSON-LIB.
  3. MOVE 1 TO sPort
  4. CALL FUNC-EPSON-LIB WITH STDCALL USING BY VALUE sPort.

Estaría super agradecida q me ayudes xq si o si tengo q hacerlas funcionar. Decime si tengo q pagarte la capacitación o lo q sea..

Muchas gracias..

Laura
El problema lo tenes me parecen en el archivo cobol85.cbr , el nombre del formulario principal es el nombre que tenes que utilizar en el archivo cobol85.cbr

Laura 8 de enero de 2018 23:48

Mi error es q usaba la otra DLL "EpsonFiscalInterface.DLL", ahora al menos no me dio error cuando lo ejecuto. Voy a probar con los comandos. Te cuento como me va..

fastpho 9 de enero de 2018 20:14

Laura, Tenes que usar la libreria EpsonFiscalDriver.DLL , en el archivo cobol85.cbr que te mande especifica esa libreria

Joseg 10 de enero de 2018 13:42

Cita:

Citación del post de fastpho (Mensaje 3857)
Laura, Tenes que usar la libreria EpsonFiscalDriver.DLL , en el archivo cobol85.cbr que te mande especifica esa libreria

Usar DLLs/OCX feitos em "C/C++", é em ALGUNS CASOS, necessário compilar com a diretiva "BINARY(BYTE)".

Ter igualmente atenção a campos com sinal PIC S9...

Por exemplo:
Código COBOL:
  1. 01 aaa pic s9(5) COMP-5
em fujitsu representa-se de uma forma em Microfocus/Outros tem outro valor (analisando em hexadecimal da para ver as diferenças).

Laura 16 de enero de 2018 22:12

fastpho, Hola.. tenés algún ejemplo para mostrarme de como x ejemplo enviar un cierre Z o X, no encuentro ejemplos bien claros, los q tengo y muchos es con la otra DLL q no me sirve. O sino donde puedo conseguir ejemplos así arranco xq estoy estancada..

Muchas gracias..

fastpho 17 de enero de 2018 14:06

Laura, te paso un ejemplo de Informe X e Informe Z
Informe X
Código COBOL:
  1. ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01 ReturnDEValue        PIC S9(9) COMP-5 VALUE 0.
  5.  01 LINEA-INFORME-X.
  6.     03 Comando            PIC X VALUE  X"08".
  7.     03 Comandobis         PIC X VALUE  X"02".
  8.  01 LINEA-EXTRA.  
  9.     03 DataField1         PIC X VALUE  X"0C".
  10.     03 DataField2         PIC X VALUE  X"21".
  11.  01 ReturnValue Pic S9(9) Comp-5 Value 0.    
  12.  01 N-Length pic 99    value zero.  
  13.  01 lpString1   pic x(2).
  14.  01 lpString2   pic x(2).
  15.  
  16.  01 x pic x(4).
  17.  01 Cantidad           PIC S9(9) COMP-5 VALUE 0.
  18.  01 ReturnString       PIC X(4) VALUE HIGH-VALUE.
  19.  01 Variable           PIC 9(3).
  20.  PROCEDURE       DIVISION.
  21.      move spaces        TO FUNC-EPSON-LIB.
  22.      MOVE 2             TO BufferLen
  23.      MOVE "AddDataField" TO FUNC-EPSON-LIB
  24.    *> La propia llamada a la FUNC-EPSON-LIBión:
  25.      CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-INFORME-X
  26.                                   BY VALUE BufferLen    
  27.  
  28.      move spaces       TO FUNC-EPSON-LIB.  
  29.  
  30.      MOVE 2             TO BufferLen
  31.      MOVE "AddDataField" TO FUNC-EPSON-LIB
  32.    *> La propia llamada a la FUNC-EPSON-LIBión:
  33.      CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-EXTRA
  34.                                    BY VALUE BufferLen    
  35. *SEND  COMMAND                                  
  36.      move spaces       TO FUNC-EPSON-LIB.
  37.      MOVE "SendCommand" TO FUNC-EPSON-LIB.
  38.      CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE VERSION.  
Informe Z
Código COBOL:
  1.  WORKING-STORAGE SECTION.
  2.  01 ReturnDEValue        PIC S9(9) COMP-5 VALUE 0.
  3.  01 Comando            PIC X VALUE  X"39".
  4.  01 LINEA-INFORME-Z.
  5.     03 Comando            PIC X VALUE  X"08".
  6.     03 Comandobis         PIC X VALUE  X"01".
  7.  01 LINEA-EXTRA.  
  8.     03 DataField1         PIC X VALUE  X"0C".
  9.     03 DataField2         PIC X VALUE  X"00".
  10.  
  11.  01 Cantidad           PIC S9(9) COMP-5 VALUE 0.
  12.  01 ReturnString       PIC X(12).
  13.  01 Variable           PIC 9(3).
  14.  PROCEDURE       DIVISION.
  15.  
  16.    
  17.  
  18.      move spaces        TO FUNC-EPSON-LIB.
  19.      MOVE 2             TO BufferLen
  20.      MOVE "AddDataField" TO FUNC-EPSON-LIB
  21.  
  22.      CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-INFORME-Z
  23.                                   BY VALUE BufferLen    
  24.  
  25.      move spaces       TO FUNC-EPSON-LIB.  
  26.  
  27.      MOVE 2             TO BufferLen
  28.      MOVE "AddDataField" TO FUNC-EPSON-LIB
  29.  
  30.      CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-EXTRA
  31.                                    BY VALUE BufferLen    
  32. *SEND  COMMAND                                  
  33.      move spaces       TO FUNC-EPSON-LIB.
  34.      MOVE "SendCommand" TO FUNC-EPSON-LIB.
  35.      CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE VERSION.  
  36.      

Laura 17 de enero de 2018 22:12

GRACIAS!!! Voy a probar entonces.. después te cuento..

Softdac 3 de agosto de 2018 00:37

Estimada Laura, disculpe el atrevimiento, pero me podría resumir como soluciono el inconveniente? ya que tengo desarrollado un sistema en powercobol 7 con la ocx EpsonFPHostControlX en modo compatible funcionando Ok, hasta que me solicitaron confeccionar notas de debitos, y ahí se me vino la noche, renegué un montón, hasta que consultando en Epson, me indicaron que debía usar el protocolo extendido del ocx, pero no encontré manera de hacerla funcionar, me dieron varias alternativas pero nada, hasta que encontré este tema en el foro, por lo que decidí molestarla.
Desde ya muchas gracias, por su atención.
Saludos
Daniel

drvedia1981 3 de agosto de 2018 17:04

Hola tenes un sistema funcionando con EpsonFPHostControlX en una tm220af o anteriores o las nuevas con cual queres hacer nota de credito ? Saludos

Softdac 4 de agosto de 2018 05:54

Hola drvedia1981, el sistema viene funcionando desde ya hace unos años, con powercobol 7 y el ocx EpsonFPHostControlX, en modo compatible en impresora tm220AFII, pero ojo, lo que no puedo hacer es notas de débitos, ya para eso tengo trabajar en modo extendido, y es ahí en donde reniego para pasarles los valores hexadecimales al controlador. Según la gente de epson, me dijo que cuando le paso en un comando el valor x'00' el controlador lo toma como nulo, por lo que me descarta el comando, pero hasta ahora no le encontré la vuelta.
Gracias por tu interes.


La franja horaria es GMT +2. Ahora son las 05:11.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.