Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-03-2020
maxpayne198304 maxpayne198304 is offline
Registrado
 
Registrado: abr 2016
Posts: 3
Poder: 0
maxpayne198304 Va por buen camino
Problema Epsoninterface.dll

Buenas estoy teniendo muchisimos dramas para hacer funcionar EpsonFiscalInterface.dll, paso a comentar tengo el simulador instalado y andando, tengo todos y cada uno de los ejemplos que me pasaron en lazarus (yo uso delphi xe7) la cosa es asi puedo conectar el fiscal sin problemas pude instanciar la dll sin problemas, pero a la hora de enviar comandos se empieza a complicar.

Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
var
 dll  : THandle;
numero_int: integer;
prueba: STRING;
 mayor : LongInt;
  menor : LongInt;
    str : Array[0..200] of AnsiChar;
     error : LongInt;
       ConsultarVersionDll: TConsultarVersionDll;
       EstablecerEncabezado: TEstablecerEncabezado;
begin

 dll := 0;

  // instanciar dll - recordar que se require "uses Windows"
  // for production -- dll := LoadLibrary('EpsonFiscalInterface.dll');
  dll := LoadLibrary('EpsonFiscalInterface.dll');
     numero_int := 1;
     ConfigurarPuerto(Pchar(IntToStr(3)));
     ConfigurarVelocidad(StrToint('9600'));
     retorno := Conectar();
       @ConsultarVersionDll := GetProcAddress(dll, 'ConsultarVersionDll');
      if not Assigned(ConsultarVersionDll) then
      begin
        ShowMessage('Error al asignar funcion: ConsultarVersionDll');
        Exit;
      end;

     error := ConsultarVersionDll(@str[0], 200, mayor, menor );

      ShowMessage( str );

       @EstablecerEncabezado := GetProcAddress(dll, 'EstablecerEncabezado');
      if not Assigned(EstablecerEncabezado) then
      begin
        ShowMessage('Error al asignar funcion: ConsultarVersionDll');
        Exit;
      end;
      prueba:='EPSON mala onda';
      error := EstablecerEncabezado(numero_int, PANSICHAR(prueba) );
      memo1.Lines.Add(inttostr(ERROR)+ 'Encabezado numero ' + IntTostr(numero_int) + ' establecido ');



end;


end.

Esto es una porcion de codigo que hice de prueba ya probe de todo pero cuando por ejemplo quiero cambiar el encabezado solo me toma el primer caracter, probe de todo desde mandar strings, pchar, ansichar solo me toma la letra "E" de la cadena entera el simulador lo muestra asi. Ahora cuando corro alguno de los softs de prueba que te dan con la dll hace todo sin problemas. Es la primera vez q me pasa, mas con algo simple como cambiar el encabezado.
Desde ya agradezco las respuestas o si a alguien ya le paso similar.
Responder Con Cita
  #2  
Antiguo 15-03-2020
omarperez.qui omarperez.qui is offline
Miembro
 
Registrado: ago 2006
Posts: 26
Poder: 0
omarperez.qui Va por buen camino
Hola Maxpayne, prueba de definir la variable "prueba" como Ansichar, el resto estaría bien.

Te comento que cuando me tope con el emulador, no se si sera el mismo (impresoras-fiscales.com), me encontré con el mismo problema. Con el emulador anda bien y cuando conectas la dll de epson y la impresora nada funciona.
Si es el mismo emulador mira la nota aclaratoria en su sitio que dice que emula el protocolo viejo.
Yo pude hacerla andar con la dll de Epson y la impresora conectada en modo "Fiscal". En modo "prueba" tampoco funcionan la mayoría de los comandos que tienen que ver con las facturas.

Espero te sirva, saludos.
Responder Con Cita
  #3  
Antiguo 23-07-2020
softarg softarg is offline
Miembro
 
Registrado: may 2018
Posts: 16
Poder: 0
softarg Va por buen camino
EpsonFiscalInterface.dll

Cita:
Empezado por maxpayne198304 Ver Mensaje
Buenas estoy teniendo muchisimos dramas para hacer funcionar EpsonFiscalInterface.dll, paso a comentar tengo el simulador instalado y andando, tengo todos y cada uno de los ejemplos que me pasaron en lazarus (yo uso delphi xe7) la cosa es asi puedo conectar el fiscal sin problemas pude instanciar la dll sin problemas, pero a la hora de enviar comandos se empieza a complicar.

Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
var
 dll  : THandle;
numero_int: integer;
prueba: STRING;
 mayor : LongInt;
  menor : LongInt;
    str : Array[0..200] of AnsiChar;
     error : LongInt;
       ConsultarVersionDll: TConsultarVersionDll;
       EstablecerEncabezado: TEstablecerEncabezado;
begin

 dll := 0;

  // instanciar dll - recordar que se require "uses Windows"
  // for production -- dll := LoadLibrary('EpsonFiscalInterface.dll');
  dll := LoadLibrary('EpsonFiscalInterface.dll');
     numero_int := 1;
     ConfigurarPuerto(Pchar(IntToStr(3)));
     ConfigurarVelocidad(StrToint('9600'));
     retorno := Conectar();
       @ConsultarVersionDll := GetProcAddress(dll, 'ConsultarVersionDll');
      if not Assigned(ConsultarVersionDll) then
      begin
        ShowMessage('Error al asignar funcion: ConsultarVersionDll');
        Exit;
      end;

     error := ConsultarVersionDll(@str[0], 200, mayor, menor );

      ShowMessage( str );

       @EstablecerEncabezado := GetProcAddress(dll, 'EstablecerEncabezado');
      if not Assigned(EstablecerEncabezado) then
      begin
        ShowMessage('Error al asignar funcion: ConsultarVersionDll');
        Exit;
      end;
      prueba:='EPSON mala onda';
      error := EstablecerEncabezado(numero_int, PANSICHAR(prueba) );
      memo1.Lines.Add(inttostr(ERROR)+ 'Encabezado numero ' + IntTostr(numero_int) + ' establecido ');



end;


end.

Esto es una porcion de codigo que hice de prueba ya probe de todo pero cuando por ejemplo quiero cambiar el encabezado solo me toma el primer caracter, probe de todo desde mandar strings, pchar, ansichar solo me toma la letra "E" de la cadena entera el simulador lo muestra asi. Ahora cuando corro alguno de los softs de prueba que te dan con la dll hace todo sin problemas. Es la primera vez q me pasa, mas con algo simple como cambiar el encabezado.
Desde ya agradezco las respuestas o si a alguien ya le paso similar.

Hola veo que hace tiempo de esto, quería saber como obtener la lista de funciones de la DLL y como hacer la declaración en el modulo del proyecto. Vi ejemplos en visual basic pero ni idea como pasarlo a pascal. cualquier ayuda te agradecería.
Saludos
Responder Con Cita
  #4  
Antiguo 23-07-2020
omarperez.qui omarperez.qui is offline
Miembro
 
Registrado: ago 2006
Posts: 26
Poder: 0
omarperez.qui Va por buen camino
Cita:
Hola veo que hace tiempo de esto, quería saber como obtener la lista de funciones de la DLL y como hacer la declaración en el modulo del proyecto. Vi ejemplos en visual basic pero ni idea como pasarlo a pascal. cualquier ayuda te agradecería.
Saludos
Hola SoftArg. En el sitio de Epson donde conseguiste el paquete de la dll de tu impresora tienes un pdf con la documentacion, funciones, parametros y tipos de datos. Empieza por leer el documento.

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 11:58:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi