[Lazarus-es] Libreria C para Impresora Fiscal Hasar
Sergio Pedraza
spedraza69 en hotmail.com
Vie Sep 7 18:05:08 CEST 2012
Muchachos, como estan todos les comento que de tanto intentar logre hacer
funcionar la librería para las impresoras hasar, les agradezco a cada uno
que me oriento en la resolución del problema, al final logre interpretar
cuan era el problema
Tenia que recompilar todo de nuevo con gcc y empaquetar con el comando ar
para lograr hacer funcionar las librerias en Linux
Logre armar dos librerías libfiscallx.a ( que al compilar el projecto no me
da errores ) y libfislib.a ( en esta librería al compilar el projecto me
dice lo siguiente :
/usr/bin/ld: warning: link.res contains output sections; did you forget -T?
ImpresoraFiscal_Hasar.o: In function `FPFIN':
/media/KINGSTON/flazarus/ImpresoraFiscal_Hasar.pas:(.text+0x1): undefined
reference to `OpenCommfiscal'
./libc.a(strtoll.o): In function `__strtoll_internal':
/usr/src/bs/BUILD/glibc-2.1/stdlib/strtol.c:342: undefined reference to
`__udivdi3'
/usr/src/bs/BUILD/glibc-2.1/stdlib/strtol.c:343: undefined reference to
`__umoddi3'
./libc.a(strtoull.o): In function `__strtoull_internal':
/usr/src/bs/BUILD/glibc-2.1/stdlib/strtol.c:342: undefined reference to
`__udivdi3'
/usr/src/bs/BUILD/glibc-2.1/stdlib/strtol.c:343: undefined reference to
`__umoddi3'
Fiscal.lpr(22,1) Error: Error while linking
Fiscal.lpr(22,1) Fatal: There were 1 errors compiling module, stopping
Si alguien tiene una idea de como solucionarlo, estaré agradecido ( ya
intente agregar el objeto los stdlib.o strtol.c y no es la solucion)
Esta librería es la original, la que funciona (libfiscallx.a) utiliza estas
funciones
{$IFDEF UNIX}
{$LINKLIB libfiscallx.a}
function ConectaImpresoraFiscal(Portname: PChar): Integer; cdecl; external;
function DesconectaImpresoraFiscal(PortDescriptor:Integer): Integer; cdecl;
external;
function ImprimeLineaFiscal(Command:Pchar;timeout:Integer;AnswerBuffer:
pChar;handler:integer): Integer; cdecl; external;
{$ENDIF}
En cambio
libfislib.a
{$linklib libfislibv2.a}
function OpenCommfiscal(Portname: Pchar): Integer; cdecl; external;
function InitFiscal(Handler: integer): Integer; cdecl;external;
function MandaPaqueteFiscal (PortDescriptor: integer; Command: PChar;
FiscalStatus: pShort; PrinterStatus: pShort;AnswerBuffer: pChar): Integer;
cdecl;external;
function CloseCommFiscal (PortDescriptor:Integer): Integer; cdecl;external;
{$ENDIF}
Que son las mismas que la librería para Windows.
Pasando a otra cosa y lo más importante ahora, es que no puede ejecutar el
programa en Linux
Me da el siguiente error
La aplicación lanzada "/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e
/usr/lib/lazarus/0.9.30//tools/runwait.sh /media/KINGSTON/flazarus/Fiscal"
no existe o no es ejecutable.
Mire Ejecutar -> Parámetros de ejecución -> Local
Ya intente darle permiso de ejecución en ubuntu y no toma los cambios que
realizo como root
Si alguien sabe como hacerlo estaré agradecido, ya que ejecuto el programa
con wine y no es lo que realmente quiero hacer
Ya que la idea es migrar todos mis programas que tengo en VFP para LAZARUS
que me parece superior a VFP y además es multiplataforma.
Saludos y desde ya muchas gracias
Y como dije en su momento este es el link del proyecto (con un ejemplo
simple para imprimir un ticket factura, un reporte X y un reporte Z) y las
librarías para alguien que le haga falta y no padezca todo lo que tuve que
pasar para hacerlo funcionar
http://www.4shared.com/rar/46Q3tFBz/FiscalHasar.html?refurl=d1url
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20120907/3f6c2d1e/attachment-0002.html>
More information about the Lazarus-es
mailing list