Ver Mensaje Individual
  #87
Antiguo 12 de julio de 2020, 16:54
jhjacomo
Forero Junior
Última Actividad 17.03.2025 00:43
Posts Posts: 21
Likes enviados Enviados: 0
Likes recibidos Recibidos: 7

Hola fastpro, gracias por tu respuesta.
Ampliemos.
Estoy usando la librería EpsonFiscalDriver.dll.
El archivo COBOL85.CBR:

Código:
[INFOFIS]
@EnvSetWindow=UNUSE
PRTLIS=PRTLIS.ENV
PRT1=FAELE.ENV
PRINTER=lpt3

[INFOFIS.ENTRY]
AddDataField=EpsonFiscalDriver.dll
ClosePort=EpsonFiscalDriver.dll
GetAPIVersion=EpsonFiscalDriver.dll
GetExtraField=EpsonFiscalDriver.dll
GetReceivedFrame=EpsonFiscalDriver.dll
GetSentFrame=EpsonFiscalDriver.dll
OpenPort=EpsonFiscalDriver.dll
Purge=EpsonFiscalDriver.dll
SendCommand=EpsonFiscalDriver.dll
getBaudRate=EpsonFiscalDriver.dll
......

En el formulario tengo un botón, que se envía al controlador la selección del operador

Código COBOL:
  1.      if caj-tipoprv = 12
  2.         call "A-EPSONTM900"
  3.         cancel "A-EPSONTM900"
  4.      end-if.
En la PROCEDURE del formulario principal, tengo un copy con las lineas de programación:

Código COBOL:
  1.  #include "procedur\InfoFis.pro".

Y en el archivo InfoFis.pro, lo siguiente:

Código COBOL:
  1. 003010 IDENTIFICATION DIVISION.
  2. 003020 PROGRAM-ID. A-EPSONTM900 is common.
  3. 003040 ENVIRONMENT DIVISION.
  4. 003160 DATA DIVISION.
  5. 003350 WORKING-STORAGE SECTION.
  6. 003360 01 ReturnDEValue     PIC S9(9) COMP-5 VALUE 0.
  7. 003370 01 LINEA-INFORME-X.
  8. 003380    03 Comando        PIC X VALUE X"08".
  9. 003390    03 Comandobis     PIC X VALUE X"02".
  10. 003400 01 LINEA-EXTRA.
  11. 003410    03 DataField1     PIC X VALUE X"0C".
  12. 003420    03 DataField2     PIC X VALUE X"21".
  13. 003430 01 ReturnValue       Pic S9(9) Comp-5 Value 0.
  14. 003440 01 N-Length          pic 99 value zero.
  15. 003450 01 lpString1         pic x(2).
  16. 003460 01 lpString2         pic x(2).
  17. 003470 01 x                 pic x(4).
  18. 003480 01 Cantidad          PIC S9(9) COMP-5 VALUE 0.
  19. 003490 01 ReturnString      PIC X(4) VALUE HIGH-VALUE.
  20. 003500 01 Variable          PIC 9(3).
  21. 003620 01 i                    pic 99.
  22. 003630*
  23. 003640 01 FUNC-EPSON-LIB    Pic x(40).
  24. 003640 01 BufferLen         pic S9(9) COMP-5 VALUE 0.
  25. 003650 01 version           pic x(250).
  26. 004100 PROCEDURE DIVISION.
  27. 004310 la-x.
  28. 004320     move spaces TO FUNC-EPSON-LIB.
  29. 004330     MOVE 2 TO BufferLen
  30. 004340     MOVE "AddDataField" TO FUNC-EPSON-LIB.
  31. 004350*> La propia llamada a la FUNC-EPSON-LIB:
  32. 004360     CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-INFORME-X
  33. 004370          BY VALUE BufferLen.
  34. 004380
  35. 004390     move spaces TO FUNC-EPSON-LIB.
  36. 004400
  37. 004410     MOVE 2 TO BufferLen.
  38. 004420     MOVE "AddDataField" TO FUNC-EPSON-LIB.
  39. 004430*> La propia llamada a la FUNC-EPSON-LIB:
  40. 004440     CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-EXTRA
  41. 004450          BY VALUE BufferLen.
  42. 004460*SEND COMMAND
  43. 004470     move spaces TO FUNC-EPSON-LIB.
  44. 004480     MOVE "SendCommand" TO FUNC-EPSON-LIB.
  45. 004490     CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE VERSION.
  46. 004500
  47. 005520 END PROGRAM A-EPSONTM900.
Y el error me da en la linea 004360, con el mensaje que envié anteriormente.

Gracias.
jhjacomo is offline   Responder Con Cita