Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
Rutinas de Impresión fiscal - ARGENTINA Loffreda Presentación 0 31 de mayo de 2022 17:52
[Compilador] Ocx Hasar de 2da generacion Alejo Gonzalez AcuCobol 3 23 de junio de 2021 12:26
[Sintaxis] OCX Controlador Fiscal Hasar Rodrigo21 PowerCOBOL (ActiveX, v4 - v11) 0 8 de agosto de 2019 16:50
[Duda] Utilización de OCX impresora fiscal en RM/Cobol 7 mainero RM/COBOL 3 29 de junio de 2017 23:34
Motocicletas de nueva generación Kuk Charladero - espacio libre 0 24 de diciembre de 2016 15:24

Respuesta

  #41
Antiguo 5 de mayo de 2017, 00:27
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

fastpho,

Não será necessário utilizar:
Código COBOL:
  1. * define na Working
  2. 01  WSRESULT PIC S9(009)   COMP-5.
  3.  
  4. CALL FUNC WITH  STDCALL  USING BY REFERENCE CODIGO-CmImpresor
  5.                                         RETURNING WSRESULT.
Espero que resolva.
Un saludo,
Rui Pinto
Rapinto is offline   Responder Con Cita
  #42
Antiguo 5 de mayo de 2017, 08:48
Kuk
Administrador
Última Actividad 03.10.2026 00:00
Posts Posts: 2.500
Likes enviados Enviados: 1038
Likes recibidos Recibidos: 1207

fastpho, mirando el prototipo C de la función, vemos:

Código CPP:
  1. int getPrinterStatus( void )

int - es el Integer, equivalente a PIC S9(9) COMP-5 y es lo que la función devuelve.
void - quiere decir NADA, o sea que no hay parámetros a pasar para esta función.

Ahora, viendo cómo lo haces tú:

Código COBOL:
  1. CALL FUNC WITH  STDCALL  USING BY REFERENCE CODIGO-CmImpresor.

Le estás pasando un puntero (la dirección del campo CODIGO-CmImpresor) y por el contrario no recibes el valor Integer que devuelve dicha función.

La forma correcta de llamarla sería:

Código COBOL:
  1. CALL FUNC WITH  STDCALL RETURNING CODIGO-CmImpresor.



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
  #43
Antiguo 5 de mayo de 2017, 14:29
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 30.09.2026 19:12
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

Gracias Kuk y Rui voy a probar y despues cuento como me fue

---------- Post añadido : 13:29 ---------- Post anterior : 13:24 ----------

Funciona de las dos maneras Gracias Kuk y Rui
Código COBOL:
  1.      CALL FUNC WITH  STDCALL  USING BY REFERENCE CODIGO-CmImpresor returning CODIGO-CmImpresor.
  2.      CALL FUNC WITH  STDCALL RETURNING CODIGO-CmImpresor.          
fastpho is offline   Responder Con Cita
  #44
Antiguo 7 de diciembre de 2017, 22:29
Laura
Forero Junior
Última Actividad 19.01.2026 16:25
Posts Posts: 8
Likes enviados Enviados: 8
Likes recibidos Recibidos: 5

Kuk, Hola.. Necesito hacer funcionar la impresora EPSON TM 900 nueva generación y no encuentro la forma de usar la OCX o la DLL.. Vi en el foro que la están usando.. me pueden ayudar x favor?

Gracias...
Laura is offline   Responder Con Cita
  #45
Antiguo 8 de diciembre de 2017, 19:34
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 02.10.2026 11:51
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Laura, Kuk, no está usándo ese controlador, supongo que por que aquí en España, fiscalmente no es obligatorio, el que te tendría que ayudar es fastpho, que parece ser que ha conseguido ponerlo en marcha. Lo único que ha hecho Kuk y otros, y no es poco, es ayudar con un problema.

Un saludo.-
Josber is offline   Responder Con Cita
  #46
Antiguo 9 de diciembre de 2017, 11:11
Kuk
Administrador
Última Actividad 03.10.2026 00:00
Posts Posts: 2.500
Likes enviados Enviados: 1038
Likes recibidos Recibidos: 1207

Laura, como ha dicho Josber, yo no las uso. Pero dinos qué problema tienes, técnicamente te podremos ayudar.



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
  #47
Antiguo 11 de diciembre de 2017, 14:39
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 30.09.2026 19:12
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

Laura, Hola Laura , tendrias que bajar desde la pagina web de epson argentina , yo logre hacerla andar yo estoy utilizando EpsonFiscalDriver.DLL para facturar y sacar informes
bajatelos y te ayudo
Suerte
fastpho is offline   Responder Con Cita
  #48
Antiguo 11 de diciembre de 2017, 20:07
Laura
Forero Junior
Última Actividad 19.01.2026 16:25
Posts Posts: 8
Likes enviados Enviados: 8
Likes recibidos Recibidos: 5

Hola.. buenísimo.. yo tengo la DLL (EpsonFiscalInterface.DLL) y la OCX (comEsponFiscalDriver.OCX) q me enviaron de Espon, incluso fui a un curso pero no supieron decirme como usarlas en el Fujitsu. La OCX intento incluirla como un Custom Control pero pero me sale una leyenda This is not a custom control file.. Podés pasarme los códigos para incluir la DLL? NO encuentro la forma.. Muchísimas gracias..

---------- Post añadido : 16:07 ---------- Post anterior : 15:59 ----------

Gracias.. Te cuento rápido mi problema. Espon provee una DLL para la impresora fiscal para lenguaje de alto nivel y también una OCX para lenguaje de bajo nivel.. No se como utilizar la DLL en el Fujitsu y así utilizarla. Tampoco puedo incluir la OCX como custom control porq me dice This is not a custom control file y tampoco conozco otra forma de utilizarla. Fui a un curso en Espon y no hay nadie q desarrolle en Fijitsu, somos pocos y entonces no tienen las respuestas para ayudarnos.
Laura is offline   Responder Con Cita
  #49
Antiguo 11 de diciembre de 2017, 22:09
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 30.09.2026 19:12
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

Laura, Si lees bien el problema en paginas anteriores en el foro la ocx no funciona con pwc y como te dije tenes que usar la libreria EpsonFiscalDriver.DLL que funciona muy bien.
Tenes que copiar tal libreria donde compile tu programa y en el archivo cobol85.cbr incluir las llamadas de las funciones que necesitas te paso unas lineas de programa y lo que debe incluir
el archivo cobol85.cbr


Lineas de Cobol85.cbr
Código:
[TPV.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
getComPort=EpsonFiscalDriver.DLL
getExtraFieldCount=EpsonFiscalDriver.DLL
getFiscalStatus=EpsonFiscalDriver.DLL
getLastError=EpsonFiscalDriver.DLL
getPrinterStatus=EpsonFiscalDriver.DLL
getProtocolType=EpsonFiscalDriver.DLL
getReturnCode=EpsonFiscalDriver.DLL
getState=EpsonFiscalDriver.DLL
setBaudRate=EpsonFiscalDriver.DLL
setComPort=EpsonFiscalDriver.DLL
setProtocolType=EpsonFiscalDriver.DLL
setComPort=EpsonFiscalDriver.DLL
setLog=EpsonFiscalDriver.DLL
Lineas de Programa:
Código COBOL:
  1.      MOVE "GetAPIVersion" TO FUNC-EPSON-LIB.
  2.      CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE VERSION.  
  3. ***    set log
  4. **    move spaces       to FUNC-EPSON-LIB.
  5. **    MOVE "SetLog" TO FUNC-EPSON-LIB.
  6. **    MOVE "./" TO InBuffer.
  7. **    MOVE 0 TO BufferLen.
  8. **    CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE   InBuffer
  9. ** *                                  BY VALUE  BufferLen
  10. **    COM SET      
  11.      move spaces       TO FUNC-EPSON-LIB.
  12.      MOVE "setComPort" TO FUNC-EPSON-LIB.
  13.      MOVE 1            TO sPort *> activamos COM1
  14.      CALL FUNC-EPSON-LIB WITH  STDCALL   USING BY VALUE sPort.
  15. **    BAUDIOS SET    
  16.      MOVE spaces       TO FUNC-EPSON-LIB.
  17.      MOVE "setBaudRate" TO FUNC-EPSON-LIB.
  18.      move 9600          TO sBaudio *> set baudios
  19.      CALL FUNC-EPSON-LIB WITH  STDCALL   USING BY VALUE sBaudio.
  20. **    MOVE spaces       TO FUNC-EPSON-LIB.
  21. **    MOVE "getBaudRate" TO FUNC-EPSON-LIB.
  22. **         CALL FUNC-EPSON-LIB WITH  STDCALL   USING BY REFERENCE sBaudio.
  23. **    DISPLAY sBaudio
  24. **    PROTOCOL SET
  25.      move spaces       TO FUNC-EPSON-LIB.
  26.      MOVE "setProtocolType" TO FUNC-EPSON-LIB.
  27.      MOVE 1                 TO SProtocol.
  28.      CALL FUNC-EPSON-LIB WITH  STDCALL   USING BY VALUE SProtocol.
  29. *> OPEN  PORT.
  30.      move spaces       TO FUNC-EPSON-LIB.
  31.      MOVE "OpenPort"   TO FUNC-EPSON-LIB.
  32.      CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE VERSION.
  33.        
  34.      move spaces       TO FUNC-EPSON-LIB.
  35.      MOVE "getLastError" TO FUNC-EPSON-LIB.
  36.      CALL FUNC-EPSON-LIB WITH  STDCALL RETURNING  iError.          
  37.      IF iError = 0  then MOVE "ok" to "Text" OF CmCOMUNICACION.
  38.      IF iError = 1  then MOVE "Puerto ocupado" to  "Text" OF CmCOMUNICACION.
  39.      IF iError = 2  then MOVE "Puerto invalido" to "Text" OF CmCOMUNICACION.
  40.      IF iError = 10  then MOVE "Error de escritura verifique el impresor" to "Text" OF CmCOMUNICACION.
  41. **    display    iError
  42. *    
  43. *
  44. *    MOVE "ClosePort"   TO FUNC-EPSON-LIB.
  45. *    CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE VERSION.
  46. *      
  47.  
fastpho is offline   Responder Con Cita
  #50
Antiguo 12 de diciembre de 2017, 00:18
Laura
Forero Junior
Última Actividad 19.01.2026 16:25
Posts Posts: 8
Likes enviados Enviados: 8
Likes recibidos Recibidos: 5

Estuve probando con un ejemplo q pusieron justamente con lo de "setComPort" y copié la DLL en mi release pero cuando lo ejecuto me da error, como q no reconoce el setComPort, lo moví a la variable también.. pero con éste ejemplo q vos me pusiste voy a seguir probando mañana. Muchas gracias.. ojalá también pueda ayudar en algo..
Laura is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:30.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.