PDA

Ver la Versión Completa : Impresora Fiscal Star TPS650


El_Raso
14-11-2013, 23:15:34
Hola a Todos

Me gustaria si alguien podria ayudarme a imprimir en esta impresora.

Aqui hay un ejemplo del fabricante:

http://www.elepos.net/star/rd/archivos/libreria_tecnica/ejemplos_de_Integracion/Delphi.rar

Pero el mismo solo funciona con Delphi 7, si lo compilo con Delphi XE2 la impresora no imprime.

Que podria ser?

PD: Yo lo compilo en XE2 y se conecta pero no imprime, si ese mismo proyecto lo compilo en D7 funciona perfecto.
Que habria que cambiar?

Gracias Muchachos....

escorpionrojo43
16-11-2013, 15:05:08
Hola a Todos

Me gustaria si alguien podria ayudarme a imprimir en esta impresora.

Aqui hay un ejemplo del fabricante:

http://www.elepos.net/star/rd/archivos/libreria_tecnica/ejemplos_de_Integracion/Delphi.rar

Pero el mismo solo funciona con Delphi 7, si lo compilo con Delphi XE2 la impresora no imprime.

Que podria ser?

PD: Yo lo compilo en XE2 y se conecta pero no imprime, si ese mismo proyecto lo compilo en D7 funciona perfecto.
Que habria que cambiar?

Gracias Muchachos....

Hola Companero estamos montados en el mismo caballo. solo que yo trabajo con xe3 y me pasa lo mismo que ati. si has avanzado en algo por favor informarme. para intercambiar experiencias.^\||/
lo que me parece es que se trata de el manejo de los dll. lo pude compilar con 2007 pero igual no me sirve asi ya que mi proyecto esta en XE3.

El_Raso
21-11-2013, 15:39:48
Hola Compañero... el hermano Al Gonzalez me dio esta solucion y funciona fino...

Hola Manuel.

Supongo que ya probaste ese programa de ejemplo en XE2, y que el botón "Conectar" arroja el mensaje "Puerto Abierto con éxito", es decir, que la función OpenSerialPort no tiene problemas. Pero las otras funciones/botones (excepto CloseSerialPort) sí presentan un mensaje de error.

Si es como describo, entonces lo más problable es que se deba al manejo de caracteres Unicode que Delphi tiene desde la versión 2009. No es difícil solucionarlo, sólo hay que asegurarse de que todas las cadenas enviadas a las funciones de la DLL sean de tipo ANSIString (cadenas no Unicode) en lugar de String (cadenas Unicode en XE2).

Intenta primero, sólamente cambiando las declaraciones de las funciones importadas de la DLL de la siguiente manera:

function GetApiVersion (szVersion: String): LongWord; StdCall ; External 'vmaxfpi.dll';
function AddMessageField (szField: String; lFieldLength: LongWord ): LongWord; StdCall ; External 'vmaxfpi.dll';
...

Por

function GetApiVersion (szVersion: ANSIString): LongWord; StdCall ; External 'vmaxfpi.dll';
function AddMessageField (szField: ANSIString; lFieldLength: LongWord ): LongWord; StdCall ; External 'vmaxfpi.dll';
...

Es decir, sólo cambia donde diga "String" por "ANSIString" en todas las cabeceras que lleven la directiva "External".

Espero le sirva a todo el que tenga el problema.... y Gracias a Al Gonzalez nuevamente.

brahianblade11
22-11-2013, 06:27:44
Gracias a ti y al grupos del foro del Club de Delphi, pero le agradesco a Manuel E. Nin de la R. que me dio seguimiento y me aviso en cuanto fue publicada por ustedes el tema y la solucion tan simple.

Tenia el proyecto en delphi 7 por el problema mencionado pero ya podre migrarlo nuevamente a delphi xe2. Gracias de ante mano foro estoy haciendo las pruebas y la gran mayoria esta funcionando. Mil Gracias foro. si tienen alguna duda con las funciones y procedimientos que exige la DGII favor de preguntarlas y enseguida si esta mi disposicion compartire mis experiencias.