Ver Mensaje Individual
  #3  
Antiguo 23-07-2020
softarg softarg is offline
Miembro
 
Registrado: may 2018
Posts: 16
Reputación: 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