FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Epson TM900 Parametros dll
Hola, estoy luchando con una Dll de una impresora Epson Fiscal (TM900), la que viene en la definición
DLL_EXPORT_IMPORT int DLL_STD_CALL ConsultarVersionDll( char *respuesta_descripcion, int respuesta_descripcion_largo_maximo, int *respuesta_mayor, int *respuesta_menor ); En un ejemplo que trae la misma librería esta definida :
Esto siempre da error y he probado cambiar los tipo de datos pero nada funciona |
#2
|
|||
|
|||
Veamos si esto soluciona el problema...
Saludos cordiales |
#3
|
|||
|
|||
Cita:
El problema sigue igual. Mi duda es si el problema esta en el PChar o los tipos enteros. Segun la definicion de la dll cuando tiene un * delante es un puntero. Si es asi deberia definir los Longint como pint o pint64 o algo asi... ya lo probe tambien y sin solucion. Saludos! |
#4
|
||||
|
||||
¿Donde falla el código?
La dll debe estar en la carpeta del ejecutable o estar registrada en la ruta Windows\System32. El ejemplo que pones se basa en localizar el puntero a la función exportada por la dll de forma dinámica con GetProcAddress. Lo primero que hay que ver es donde está fallando, si es en la importación dinámica o en la ejecución. Cuando una función exportada estilo C espera un puntero, desde delphi puede declararse como paso por referencia sin problemas que es como está en el ejemplo que muestras. Las cadenas pueden ser estilo clasico o unicode, no sebemos que estilo dtiene esa dll, al menos no lo sabemos en el foro. puedes forsar la declaración con PAnsiChar que funcionará si tu delphi usa Unicode por defecto y la dll usa Char clasico (AnsiChar) Prueva a declararla así:
Saludos. |
#5
|
|||
|
|||
Cita:
La dll se carga y funciona. Las funciones que no llevan parametros son bien aceptados por la impresora. El tema son los parametros. Probe de la forma que me has indicado, no se cual de los parametros sera el problema. Tendria que comenzar con alguna funcion que tenga un solo parametro a ver que pasa. La documentacion de la dll es la que puse al comienzo del post. He probado usando punteros en los parametros Integer, he usado "var" para el 1e parametro, He usado widestring, pchar, string, pstring, ansistring....ya no que poner. El codigo de error que me devuelve en todos los casos es 83886082 que no hay referencia en los documentos de epson. Saludos |
#6
|
||||
|
||||
Quizás pueda ayudarte mejor si subes esa dll.
Saludos. |
#7
|
|||
|
|||
Epson fiscal tm900
Cita:
Pudiste obtener las cabeceras de todas las funciones para usar/vincular la Dll? Gracias |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
EPSON fiscal | hgiacobone | Varios | 2 | 17-11-2015 17:14:01 |
Epson TM-L60 II | BlueSteel | Varios | 0 | 03-01-2008 00:20:06 |
Quickreport + Epson FX-890 | MasterXP | Impresión | 5 | 31-07-2007 08:52:53 |
Parametros Opcionales no Parametros por defecto | Velia | Varios | 7 | 19-08-2006 15:18:42 |
Epson u210B | mane | Impresión | 3 | 08-06-2005 10:06:27 |
|