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:
MOVE "GetAPIVersion" TO FUNC-EPSON-LIB.
CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE VERSION.
*** set log
** move spaces to FUNC-EPSON-LIB.
** MOVE "SetLog" TO FUNC-EPSON-LIB.
** MOVE "./" TO InBuffer.
** MOVE 0 TO BufferLen.
** CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE InBuffer
** * BY VALUE BufferLen
** COM SET
move spaces TO FUNC-EPSON-LIB.
MOVE "setComPort" TO FUNC-EPSON-LIB.
MOVE 1 TO sPort *> activamos COM1
CALL FUNC-EPSON-LIB WITH STDCALL USING BY VALUE sPort.
** BAUDIOS SET
MOVE spaces TO FUNC-EPSON-LIB.
MOVE "setBaudRate" TO FUNC-EPSON-LIB.
move 9600 TO sBaudio *> set baudios
CALL FUNC-EPSON-LIB WITH STDCALL USING BY VALUE sBaudio.
** MOVE spaces TO FUNC-EPSON-LIB.
** MOVE "getBaudRate" TO FUNC-EPSON-LIB.
** CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE sBaudio.
** DISPLAY sBaudio
** PROTOCOL SET
move spaces TO FUNC-EPSON-LIB.
MOVE "setProtocolType" TO FUNC-EPSON-LIB.
MOVE 1 TO SProtocol.
CALL FUNC-EPSON-LIB WITH STDCALL USING BY VALUE SProtocol.
*> OPEN PORT.
move spaces TO FUNC-EPSON-LIB.
MOVE "OpenPort" TO FUNC-EPSON-LIB.
CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE VERSION.
move spaces TO FUNC-EPSON-LIB.
MOVE "getLastError" TO FUNC-EPSON-LIB.
CALL FUNC-EPSON-LIB WITH STDCALL RETURNING iError.
IF iError = 0 then MOVE "ok" to "Text" OF CmCOMUNICACION.
IF iError = 1 then MOVE "Puerto ocupado" to "Text" OF CmCOMUNICACION.
IF iError = 2 then MOVE "Puerto invalido" to "Text" OF CmCOMUNICACION.
IF iError = 10 then MOVE "Error de escritura verifique el impresor" to "Text" OF CmCOMUNICACION.
** display iError
*
*
* MOVE "ClosePort" TO FUNC-EPSON-LIB.
* CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE VERSION.
*