|
Página 1 de 1
|
Autor |
Mensaje |
alessandri
Técnico Programador
Registrado: Abril 2010
Mensajes: 151
Edad: 42
|
Usar DLL
hola amigos,
Se pueden usar archivos DLL en linux?, se podría hacer una aplicación en gambas
que utilice alguna DLL?,
¿Como?
Gracias.
|
#1 Lunes, 20 Enero 2014, 14:23 |
|
|
tercoIDE
Analista Programador
Registrado: Noviembre 2013
Mensajes: 713
Edad: 54
|
Re: Usar DLL
fijate ahi,
http://foro.gambas-es.org/viewtopic...ingle_Post_View
es una .SO , .DLL no exise en Linux, pero es basicamente la misma cosa
|
#2 Lunes, 20 Enero 2014, 16:39 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Usar DLL
Citar: es una .SO , .DLL no exise en Linux, pero es basicamente la misma cosa
Si, por definición, son la misma cosa.
alessandri:
Citar: se podría hacer una aplicación en gambas que utilice alguna DLL?,
He buscado informacion en internet sobre eso (mas bien de usar DLL en linux), y a menos que tenga el codigo fuente de la libreria y puedas compilarlo, como te indica tercoIde, puede ser casi imposible usarla sin compilarla de nuevo, ya que tendrias que usar Wine y tambien dependería de los recursos que usa la libreria (si esta muy ligada al kernel de windows).
|
#3 Lunes, 20 Enero 2014, 22:06 |
|
|
alessandri
Técnico Programador
Registrado: Abril 2010
Mensajes: 151
Edad: 42
|
Re: Usar DLL
gracias amigos
El problema que tengo es bastante complejo ya que en mi país (REPÚBLICA DOMINICANA)
han iniciado un proceso de instalación de impresoras fiscales, y donde se complica es que
la empresa proveedora usa un DLL que se comunica con la impresora y hace la funciones
especificas y lleva el control.
LA DLL VMAX es privada por lo que no puedo modificarla o traducirla a SHARED OBJET.
pueden descargar los ejemplos de aqui:
Enlace
específicamente el de visual basic 6.0
Yo creo que puedo traducirlo a Gambas2, pero el problema seria para ejecutar
la DLL VMAX,... si se pudiera ejecutar con wine desde gambas se resolviera el problema.
Ojo, ya instale la aplicación de ejemplo con crossover y wine, pero no logro tener
acceso a la base de datos usando el driver ODBC 3.51 Y ODBC 5.1 de MYSQL de win32
entonces si utilizo el ejemplo hecho en vb6.0 no me resuelvo el problema porque
no tengo acceso a la base de datos.
si alguien tiene una idea...
GRACIAS
|
#4 Miercoles, 22 Enero 2014, 02:12 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Usar DLL
la empresa proveedora usa un DLL que se comunica con la impresora y hace la funciones
especificas y lleva el control.
LA DLL VMAX es privada por lo que no puedo modificarla o traducirla a SHARED OBJET.
la DLL VMAX,... si se pudiera ejecutar con wine desde gambas se resolviera el problema.
entonces si utilizo el ejemplo hecho en vb6.0 no me resuelvo el problema porque
no tengo acceso a la base de datos.
si alguien tiene una idea...
GRACIAS
la dllvmax no se puede utilizar en linux
esta muy ligada al kernel de windows, demasiado
ni siquera teniendo el codigo fuente funcionaria
lo que hace esa dll es simplificar la programacion
enviando complicados comandos por el puerto serie
con simples ordenes en visual basic
en la seccion de soporte en esa pagina esta el manual con las instrucciones de bajo nivel para controlar la impresora desde cualquier sistema operativo con cualquier lenguaje que maneje puerto serie
|
#5 Miercoles, 22 Enero 2014, 03:31 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Usar DLL
He encontrado este enlace, donde una empresa vende los drivers para linux de distintas marcas de impresoras fiscales:
http://www.impresoras-fiscales.com.ar/
Incluso un driver "IXBATCH" para cuando
Citar: "se utiliza en lenguajes donde no es posible integrar el driver directamente al lenguaje de programación, por ejemplo RM-COBOL, etc."
El IxBatch le permite enviar comandos a la Impresora Fiscal a través de un archivo de texto que contiene scripts tipo PFBATCH o PRUF.. A diferencia del PFBATCH o del PRUF, los campos de los comandos no llevan formato y numero de secuencia. El archivo de entrada puede contener 1 o más líneas de scripts. También el lenguaje de macros de IxBatch se utiliza en los drivers para Clipper, FoxPro , Unix, etc, para enviarle comandos a la impresora fiscal usando la funcione IF_WRITE(“@Comando”).
Sistemas operativos que soporta el IXBatch: El programa IXBatch esta disponible para los sistemas operativos:
MS-DOS
WIN95/9X/ME/2000/XP
Linux
OpenServer
SOLARIS
http://www.impresoras-fiscales.com.ar/ixbatch.htm
Saludos
última edición por jsbsan el Miercoles, 22 Enero 2014, 18:05; editado 1 vez
|
#6 Miercoles, 22 Enero 2014, 18:04 |
|
|
alessandri
Técnico Programador
Registrado: Abril 2010
Mensajes: 151
Edad: 42
|
Re: Usar DLL
muchas gracias amigos por toda la ayuda.
les cuento que tengo el problema casi resuelto usando la DLL con wine
solo me faltan unos ajustes.
la solución es muy parecida a la que ofrece la empresa que mencionas
pero lo estoy haciendo el visual basic 6 y llamo el programa desde gambas
mediante un shell, wine programaprinter.
cuando termine les doy los detalles.
|
#7 Jueves, 23 Enero 2014, 10:35 |
|
|
alessandri
Técnico Programador
Registrado: Abril 2010
Mensajes: 151
Edad: 42
|
Re: Usar DLL
Hola amigos,
Les cuento que me ha ido de perro con esta Impresora Fiscal...
he contactado los tecnicos de Vmax y me han suministrado el siguiente código:
DIM i AS Byte
IF Sport.Status = Net.Inactive THEN
Message("Open port first!")
ELSE
'WRITE #Sport,TxtSend.Text & Chr(13) & Chr(10), txtSend.Length + 2
'PRINT #Sport, txtSend.Text; Chr$(13); Chr$(10);'linea original
FOR i = 0 TO 4
IF i = 0 THEN PRINT #Sport, "<2><132><10><1><28><0><0><28>00<28><28><28>015<28><28>FRANCISCO ACOSTA<28>00006853771<28><3>094A"; Chr$(13); Chr$(10);
IF i = 1 THEN PRINT #Sport, "<2><136><10><27><2><28><0><0><28><28><28><28><28><28><28><28><28><28>ANALOGY CP001 DE 50M<28>100<28>49576<28>1800<3>098B"; Chr$(13); Chr$(10);
IF i = 2 THEN PRINT #Sport, "<2><140><10><27><3><28><0><0><3>00F1"; Chr$(13); Chr$(10);
IF i = 3 THEN PRINT #Sport, "<2><142><10><5><28><0><0><28>001<28>119491<28>PAGADO<28><28><3>04DD"; Chr$(13); Chr$(10);
IF i = 4 THEN PRINT #Sport, "<2><160><10><6><28><0><1><28>1<28><28>2<28><28>3<28><3>022C"; Chr$(13); Chr$(10);
IF i = 4 THEN Module1.MSI("se enviaron todos los comandos con exito..")
NEXT
END IF
EL código anterior lo he tomado del ejemplo que viene en gambas2, y el texto entre comillas con símbolos de <> son los comandos a bajo nivel que
reconoce el printer.
Adjunto el documento original que me suministran los técnicos de Vmax. Las funciones que deben hacer que la impresora imprima son:
- Abrir Comprobante Fiscal
- Item
- Subtotal
- Pago
- Cerrar Comprobante fiscal
al ejecutar el ultimo comando la impresora deberia Imprimir... pero no hace nada... .
la configuración del puerto es:
Puerto Name: /dev/ttyS0
Speed: 9600
Parity: NONE
Data Bits: 8
Stop Bit: 1
Flow Control: XON/XOFF
¿Sera que falta algo para abrir la comunicación?
HA, tambien intente enviar los comandos directos al puerto serie, así:
:~$ "<2><160><10><6><28><0><1><28>1<28><28>2<28><28>3<28><3>022C" > /dev/ttyS0
y por si las moscas, cambie los permisos del puerto así:
sudo chmod 777 /dev/ttyS0
en el documento adjunto en todas las partes que dice [Ejemplo] en corchetes
son los comandos que debería reconocer.
Ayuda por favor.
Descripción: |
|
Descargar |
Nombre del archivo: |
Ejemplo Vmax Bajo Nivel puerto serie.txt |
Tamaño: |
3.57 KB |
Descargado: |
62 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
Ejemplo Vmax Bajo Nivel puerto serie.txt |
Tamaño: |
3.57 KB |
Descargado: |
62 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
Ejemplo Vmax Bajo Nivel puerto serie.txt |
Tamaño: |
3.57 KB |
Descargado: |
62 veces |
última edición por alessandri el Martes, 04 Febrero 2014, 02:36; editado 1 vez
|
#8 Martes, 04 Febrero 2014, 02:31 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Usar DLL
Hola amigos,
Les cuento que me ha ido de perro con esta Impresora Fiscal...
he contactado los tecnicos de Vmax y me han suministrado el siguiente código:
.....
y eso es todo falta codigo
para mandar texto por consola se usa el comando echo
creo que era
echo -e "texto" > /dev/puertoserie
o guardas eel texto en un archivo
y
cat texto.txt >/dev/puerto
hay una vieja forma de probar el puerto uniendo los pines 2 y 3....
pero no recuerdo creo que era con putty , ahora seguro que debe haber algo en internet
|
#9 Martes, 04 Febrero 2014, 05:19 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|