Ver Mensaje Individual
  #1  
Antiguo 10-03-2020
maxpayne198304 maxpayne198304 is offline
Registrado
 
Registrado: abr 2016
Posts: 3
Reputación: 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