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

  #31
Antiguo 26 de abril de 2017, 22:34
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

La linea de los nulos las saque por no van e igual me estan apareciendo me tiene loco
Me baje de la pagina de Epson una dll y un .lib
Y viene una ocx tambien y tiene manual

La ocx cuando la quiero insertar me da un error
Voy a seguir probando
fastpho is offline   Responder Con Cita
  #32
Antiguo 26 de abril de 2017, 23:11
Kuk
Administrador
Última Actividad 03.10.2026 00:00
Posts Posts: 2.500
Likes enviados Enviados: 1038
Likes recibidos Recibidos: 1207

fastpho, ¿qué error te da exactamente la OCX?

¿La DLL de qué va, qué hace exactamente, lo mismo que la OCX?



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
  #33
Antiguo 27 de abril de 2017, 14:34
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

Este nuevo de paque de datos que baje viene con una com dice para windows y una dll y . lib para windows 32 y 64 bits cuando quise insertar el objecto no me figura en lo objetos insertables entonces me fui al boton browse y cuando la inserto me da el siguiente error : this is not a custom controls file Prove con vb6 y me hace lo mismo .
Bueno dije entonces voy por la dll pero no tengo el conocimiento para implementarla
No me deja subir el zip porque es muy pesado solo subo el pdf que explica

voy a dejar el link de epson para ver si la podes bajar KUK
Epson TM-T900FA | Impresoras fiscales | Punto de venta | Soporte | Epson Argentina
Archivos Adjuntos
Tipo de Archivo: pdf EpsonFiscalDriver.pdf (400,3 KB)Descargas: 122
fastpho is offline   Responder Con Cita
  #34
Antiguo 27 de abril de 2017, 15:40
Kuk
Administrador
Última Actividad 03.10.2026 00:00
Posts Posts: 2.500
Likes enviados Enviados: 1038
Likes recibidos Recibidos: 1207

fastpho, el uso de la DLL no es complicada. Debes añadir el archivo *.LIB a tu proyecto en PowerCOBOL. Luego copiar la DLL a la carpeta debug/release de tu proyecto PowerCOBOL donde te deja los EXE y DLL de tu proyecto.

En cuanto a la sintaxis. Te lo voy a explicar con ejemplos del PDF que has colgado.
Por ejemplo, dice que en la DLL hay una función (que por cierto no está disponible en la OCX) que es:

Código CPP:
  1. void setComPort( int Port )

Código:
This method configures the port number to be used. It is not available in the COM (.ocx) library.

Variable  Type      Value      Description 
Port      int       Numeric    0 – USB
                               1 – COM1
                               2 – COM2
                               x - COMx
Void - quiere decir "nada", o sea que la función no devuelve resultado.

Para llamar esta función debes hacer:

Código COBOL:
  1.  WORKING-STORAGE SECTION.
  2.  01  sPort         PIC S9(9) COMP-5.
  3.  
  4.  PROCEDURE DIVISION.
  5.    
  6.     MOVE 0 TO sPort *> activamos USB
  7.    
  8.     CALL "setComPort" WITH STDCALL USING BY VALUE sPort

Este es un ejemplo básico. Ahora para llamar la función que llamábamos antes:

Código CPP:
  1. void AddDataField( char *in_buffer, int in_buffer_length )

Código:
This method adds a new field (binary data) for the next command.

Variable          Type      Value      Description 
in_buffer         char      Binary     Max size buffer is 8192 
in_buffer_length  int       Numeric    Max length is 8192
Para llamar esta función debes hacer:
Código COBOL:
  1.  WORKING-STORAGE SECTION.
  2.  01  InBuffer      PIC X(250).
  3.  01  BufferLen     PIC S9(9) COMP-5.
  4.  
  5.  PROCEDURE DIVISION.
  6.    
  7.     *> Prueba con cada una de estas combinaciones
  8.     MOVE X"08" & X"02" TO InBuffer
  9.     MOVE 2             TO BufferLen
  10.    
  11.     MOVE X"08" & X"02" & X"00" TO InBuffer
  12.     MOVE 2                     TO BufferLen
  13.    
  14.     MOVE X"08" & X"02" & X"00" TO InBuffer
  15.     MOVE 3                     TO BufferLen
  16.    
  17.     *> La propia llamada a la Función:
  18.     CALL "AddDataField" WITH STDCALL USING BY REFERENCE InBuffer
  19.                                            BY VALUE BufferLen

Siguiendo estos ejemplos puedes invocar cualquier función en la DLL.



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
  #35
Antiguo 27 de abril de 2017, 16:27
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 por tu tiempo voy a probar y lo que me sugieres y despues aviso como me fue

Código COBOL:
  1. WORKING-STORAGE SECTION.
  2.  01  sPort         PIC S9(9) COMP-5.
  3.  01  InBuffer      PIC X(250).
  4.  01  BufferLen     PIC S9(9) COMP-5.  
  5.  PROCEDURE       DIVISION.
  6.      MOVE 1 TO sPort *> activamos COM1
  7.    
  8.      CALL "setComPort" WITH STDCALL USING BY VALUE sPort
  9.  
  10.      *> Prueba con cada una de estas combinaciones
  11.      MOVE X"08" & X"02" TO InBuffer
  12.      MOVE 2             TO BufferLen
  13.    *> La propia llamada a la Función:
  14.      CALL "AddDataField" WITH STDCALL USING BY REFERENCE InBuffer
  15.                                            BY VALUE BufferLen
Inserte la libreria y copie la dll y el lib en el directorio donde trabajo cuando compilo me tira esta cantidad de errores que estoy haciendo mal
voy a subir el printscreen de la compilacion

Miniatura de Adjuntos
Pulsar la imagen para la versión amplia
Nombre:  compilacion.jpg
Vistas: 131
Tamaño:  493,8 KB  
fastpho is offline   Responder Con Cita
  #36
Antiguo 27 de abril de 2017, 17:04
Kuk
Administrador
Última Actividad 03.10.2026 00:00
Posts Posts: 2.500
Likes enviados Enviados: 1038
Likes recibidos Recibidos: 1207

fastpho, parece ser una LIB estática (y no una LIB de importación) la cual además tiene sus propias dependencias. Acerca de las LIB: [Noticia] Diferentes tipos de librerías *.LIB que existen - COBOL Foro

¿Has instalado el EpsonFiscalDriver_01.09.00.exe? Aunque no creo que esto ayude para hacer el LINK.

Mira, cambia el código según explico en este hilo y convierte las llamadas en dinámicas: [Aporte] CALL de cualquier DLL sin *.LIB ni "LoadLibrary" - COBOL Foro. Así no necesitas la LIB en el proyecto, las funciones serán localizadas vía WinAPI por el Run-Time de Fujitsu, así que no olvides de quitar la LIB del proyecto.



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
  #37
Antiguo 28 de abril de 2017, 15:51
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

Hola Kuk instale el paquete EpsonFiscalDriver_01.09.00.exe , quite la lib del proyecto pero cuando compilo me da el siguiente error :

Linking C:\epsontm\epsontm900.exe ...
APPEPSON.obj : error LNK2001: unresolved external symbol _FUNC@4
C:\epsontm\epsontm900.exe : fatal error LNK1120: 1 unresolved externals

** The build has failed **

este es el archivo que cree cobol85.cbr que contiene :

[APPEPSON.ENTRY]
setComPort=EpsonFiscalDriver.DLL
AddDataField=EpsonFiscalDriver.DLL

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  FUNC  PIC X(10).
  5.  01  sPort         PIC S9(9) COMP-5.
  6.  01  InBuffer      PIC X(250).
  7.  01  BufferLen     PIC S9(9) COMP-5.  
  8.  PROCEDURE       DIVISION.
  9.      MOVE "setComPort" TO FUNC.
  10.      MOVE 1 TO sPort *> activamos COM1
  11.    
  12.      CALL "FUNC" WITH  STDCALL   USING BY VALUE sPort
  13.    
fastpho is offline   Responder Con Cita
  #38
Antiguo 28 de abril de 2017, 16:16
Kuk
Administrador
Última Actividad 03.10.2026 00:00
Posts Posts: 2.500
Likes enviados Enviados: 1038
Likes recibidos Recibidos: 1207

fastpho, estás haciendo llamada estática:

Código COBOL:
  1.      CALL "FUNC" WITH  STDCALL   USING BY VALUE sPort

Quítale las comillas al FUNC para que tire de la varibale WORKING y no lo tome por literal:

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  FUNC  PIC X(10). *>  nombre función <===[
  5.  01  sPort         PIC S9(9) COMP-5.
  6.  01  InBuffer      PIC X(250).
  7.  01  BufferLen     PIC S9(9) COMP-5.  
  8.  PROCEDURE       DIVISION.
  9.      MOVE "setComPort" TO FUNC. *>  nombre función <===[
  10.      MOVE 1 TO sPort *> activamos COM1
  11.    
  12.      CALL FUNC WITH  STDCALL USING BY VALUE sPort



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
  #39
Antiguo 28 de abril de 2017, 23:33
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

Al fin pude Imprimir un Informe X Gracias Kuk
Ahora a laburar cualquier cosa estare informando
fastpho is offline   Responder Con Cita
  #40
Antiguo 4 de mayo de 2017, 23:59
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

Hola KUK tengo problemas con estos metodos que me devuelven ningun valor y me parece que el problema es que estan mal implementadas :
Por ejemplo el metodo
Código:
getPrinterStatus
Prototype:
int getPrinterStatus( void )
Inputs:
Nothing.
Outputs:
Nothing.
Returns:
Only the least significant 16 bits are valid.
yo llamandola asi
Código COBOL:
  1.      move "getPrinterStatus" TO FUNC.
  2.      CALL FUNC WITH  STDCALL  USING BY REFERENCE CODIGO-CmImpresor.          
  3.      MOVE CODIGO-CmImpresor TO "Text" OF CmImpresor.
Pero siempre me da zero cuando me deberia dar algun valor por ejemplo cuando se abre la tapa del impresor o falta papel
Desde ya muchas gracias
fastpho 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:31.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.