@Ale,estuve viendo el manual tiene 2 librerias una para 32 y otra 64 bits , tenes que usar la 32
aparentemente no hay que registrarla solo copiarla dll en la carpeta del proyecto por lo que dice el manual .
Encontre en google un grupo de Visual FoxPro un programa en
Python completo con todas las funciones te puede servir de ejemplo para traducirlo al powercobol.
y te paso el link del grupo para que leas los problemas que tienen con la libreria .....
https://groups.google.com/g/publices...m/Q-fexaz_AQAJ
Ejemplo para hacer una Informe Z
Código COBOL:
WORKING-STORAGE SECTION.
01 Funcion-SAM4-LIB PIC X(50).
01 sPort PIC S9(9) COMP-5.
01 sWait PIC S9(9) COMP-5.
01 sBaudio PIC S9(9) COMP-5.
01 Respuesta-Impresor PIC S9(9) COMP-5 value 0.
01 CierreZSam4s PIC X(7) VALUE "CierreZ".
PROCEDURE DIVISION.
*> BAUDIOS DE COMUNICACION
*SerialBaudSet
move spaces TO Funcion-SAM4-LIB.
MOVE 115200 TO sBaudio. *> Chequear a que velocidad esta el impresor fiscal OJO !!!!
MOVE "SerialBaudSet" TO Funcion-SAM4-LIB.
CALL Funcion-SAM4-LIB WITH STDCALL USING BY VALUE sBaudio returning Respuesta-Impresor.
DISPLAY Respuesta-Impresor.
IF Respuesta-Impresor NOT = 1
INVOKE POW-SELF "DisplayMessage" USING "ERROR"
END-IF.
*> OPEN PORT.
*SerialPortOpen
move spaces TO Funcion-SAM4-LIB.
MOVE 1 TO sPort *> COM1 , Chequear en que puerto esta el impresor fiscal OJO !!!!!
MOVE "SerialPortOpen" TO Funcion-SAM4-LIB.
CALL Funcion-SAM4-LIB WITH STDCALL USING BY VALUE sPort returning Respuesta-Impresor.
DISPLAY Respuesta-Impresor.
IF Respuesta-Impresor NOT = 1
INVOKE POW-SELF "DisplayMessage" USING "ERROR"
END-IF.
*>CIERRE "Z"
move spaces TO Funcion-SAM4-LIB.
MOVE "IFOpBegin" TO Funcion-SAM4-LIB.
CALL Funcion-SAM4-LIB WITH STDCALL USING BY REFERENCE CierreZSam4s returning Respuesta-Impresor.
DISPLAY Respuesta-Impresor.
IF Respuesta-Impresor NOT = 1
INVOKE POW-SELF "DisplayMessage" USING "ERROR"
END-IF.
move spaces TO Funcion-SAM4-LIB.
MOVE "IFOpSend" TO Funcion-SAM4-LIB.
MOVE 1 TO sWait.
CALL Funcion-SAM4-LIB WITH STDCALL USING BY VALUE sWait returning Respuesta-Impresor.
DISPLAY Respuesta-Impresor.
IF Respuesta-Impresor NOT = 1
INVOKE POW-SELF "DisplayMessage" USING "ERROR"
END-IF.
Saludos...