Ver Mensaje Individual
  #22  
Antiguo 12-04-2019
PEIIB PEIIB is offline
Miembro
 
Registrado: mar 2016
Posts: 21
Reputación: 0
PEIIB Va por buen camino
Bueno, ya he avanzado un poco mas. Efectivamente, el código de error 103 corresponde a falta de licencia
O sea, sin licencia no funciona; con licencia de evaluación funciona con marca de agua de acuerdo que es una mala pasada, pero es así.
He conseguido poner la licencia, en el OnShow, con el código que esta en un anterior mensaje Lo que pasaba es que asignaba el código a un objeto (SigCtrl1) y pretendía utilitzar otro para la firma (SifCtrl) fallo tonto.

Ya funciona el pad: Ya veo la firma en pantalla.
El problema que tengo ahora es en el momento de pasar la imagen a archivo, con el procedimiento 'RenderBitmap' el código:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  res: CaptureResult;
  sigObj1: SigObj;
  fileName: String;
begin
  Memo1.Lines.Add('btnSign was pressed');
  res := sig.Capture('Who', 'Why');
  if res = CaptureOK then
  begin
    Memo1.Lines.Add('Signature captured successfully');
    fileName := 'sig1.bmp';
    sigObj1 := SigObj(sig.Signature);

    //código original, da error:   sigObj1.ExtraData['AdditionalData'] := 'Delphi test: Additional data';
    //código original, da error:   sigObj1.RenderBitmap(fileName, 200, 150, 'image/bmp', 0.5, $ff0000, $ffffff, -1.0, -1.0, RenderOutputFilename or RenderColor32BPP or RenderEncodeData);

    sigObj1.RenderBitmap(filename, 200, 150,'image/bmp', 0.5, $ff0000, $ffffff, -1.0, -1.0,RenderOutputFilename or RenderColor1BPP);  //Simplificado: Tambien da error

    Image1.Picture.LoadFromFile(fileName);
  end
  else
  begin
    Memo1.Lines.Add('Signature capture error res='+IntToStr(res));
    case res of
    CaptureCancel: begin Memo1.Lines.Add('Signature cancelled'); end;
    CaptureError: begin Memo1.Lines.Add('No capture service available'); end;
    CapturePadError: begin Memo1.Lines.Add('Signing device error'); end;
    else begin Memo1.Lines.Add('Unexpected error code'); end;
    end;
  end;
end;
Me da el error:
raised exception class EAccessViolation at address 5DD40DFF in module 'FISigCOM.dll'. Read of address 000013D8 Process stoped. Use Step or Run to continue.

Al continuar, el archivo no ha quedado guardado.
Tenéis idea de cual es el problema ahora?

Última edición por Casimiro Notevi fecha: 12-04-2019 a las 11:49:42. Razón: Etiquetas delphi
Responder Con Cita