Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿Experiencia con Tableta Firmas Wacom? (https://www.clubdelphi.com/foros/showthread.php?t=92969)

Casimiro Notevi 11-04-2019 18:33:20

No, si precisamente te hablo de los modelos antiguos, los nuevos no los he usado.

PEIIB 12-04-2019 11:38:16

Bueno, ya he avanzado un poco mas. Efectivamente, el código de error 103 corresponde a falta de licencia:eek::eek:
O sea, sin licencia no funciona; con licencia de evaluación funciona con marca de agua :mad::mad: 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?

Neftali [Germán.Estévez] 12-04-2019 12:04:08

¿Ese archivo lo tienes?
¿Es de la versión correcta?
¿Si es necesario registrarlo, lo has registrado?
:confused::confused::confused:

PEIIB 12-04-2019 12:20:47

Ooops! Tienes razon! Yo daba por supuesto que el archivo existe en el PC, pero NO! :(
En cuanto a la licencia, creo que bajé el SDK equivocaco: uno con mayores prestaciones que requiere licencia.

Creo que voy a desinstalar el SDk, bajar el correcto y empezar de nuevo. Ya con la experiencia no debería ser tan engorroso. Voy a probar...

PEIIB 12-04-2019 13:43:20

Bueno, me he precipitado al decir que no estaba el archivo FISigCOM.dll, cuando iba por desinstalar los ActiveX he visto que ellos estaban basados precisamente en ese archivo, así que lo he localizado en el disco duro.
Posteriormente, lo he registrado mediante Regsvr32, para 32 y 64 bits (por si acaso)
Ademas, he puesto una copia del archivo en la misma capeta donde se ejecuta el programa y he reiniciado el PC...
Al ejecutar, sigue dando el mismo fallo.

En cuanto a la versión del SDK, he visto que en la la misma web hay incongruencias. Cuando ves la lista de SDKs disponibles, dice que es libre de costos, pero cuando pinchas ahi, dice que funciona bajo licencia. He visto que la fecha de compilacion del archivo es de febrero de 2019, así que imagino que habrán cambiado la política recientemente. No hay otro SDK. Es ese y punto.

¿Es posible que la misma compilación reciente del SDK lleve el error implicito que me esta apareciendo?
¿No tendreis por ahi un SDK antiguo? (Ademas seria ineteresante poque debe funcionar sin licencia)

Muchas gracias por vuestra ayuda. La verdad que mes esta viniendo muy bien

Saludos
Pei

PEIIB 12-04-2019 18:04:59

Hola de nuevo,

He descargado otro SDK, lo he encontrado aqui. Este sí que funciona sin licencia.

Primero he desinstalado todo lo anterior: Los ActiveX y el SDK
He instalado el nuevo SDK, a continuacion los ActiveX, he registrado la DLL en cuestion. En el programa, he cambiado el componente por el nuevo.

He descargado e instalado la versión de 32 bits, y he registrado la DLL también con 32 bits, puesto que Delphi7 funciona en 32bits, aunque la maquina es de 64

La captura de firma funciona (sin licencia :))
Pero al pasar la firma como imagen, me sale exactamente el mismo error:

raised exception class EAccessViolation at address 5DD40DFF in module 'FISigCOM.dll'. Read of address 000013D8 Process stoped.

Alguna idea? Estoy en un callejón sin salida
Gracias

Pei

Neftali [Germán.Estévez] 15-04-2019 11:30:10

Cita:

Empezado por PEIIB (Mensaje 531458)
Bueno, me he precipitado al decir que no estaba el archivo FISigCOM.dll, cuando iba por desinstalar los ActiveX he visto que ellos estaban basados precisamente en ese archivo, así que lo he localizado en el disco duro.
Posteriormente, lo he registrado mediante Regsvr32, para 32 y 64 bits (por si acaso)
Ademas, he puesto una copia del archivo en la misma capeta donde se ejecuta el programa y he reiniciado el PC...
Al ejecutar, sigue dando el mismo fallo.


Debes asegurarte de que la versión es correcta para trabajar con el SDK que has descargado.
Creo que no es buena idea mantener varias versiones y asegútare de registrar la correcta.
Yo eliminaría las diferentes copias y dejaría sólo una. Y registrar esa donde estés seguro que el programa la encuentra. En mi caso suelo registrarla en el directorio del EXE.

PEIIB 15-04-2019 19:09:53

Así lo he hecho, Germán, cuando baje el segundo SDK, ya había borrado previamente todo lo que hacía referencia al anterior. (Carpetas en Archivos de programa/common files incluida) Lo que no había probado era de registrar el archivo DLL en la misma carpeta de ejecución del programa, pero nada, tampoco funciona.
La verdad, estoy por devolver esta tableta (si se puede) y comprar otra de otra marca.

En otro hilo he visto que Casimiro habla bien de las Step Over. Voy a ir averiguando que tal...

PEIIB 30-04-2019 17:02:25

Ya para cerrar el tema como es debido...

Después de muchas indagaciones, en el servicio técnico de Wacom no acaban de dar con la causa del problema. Dicen que puede ser algo tan simple como 'acces file denied' (que no es eso) pero puesto que el mensaje de error no da ninguna información, me ha sido imposible usar esta tableta de firmas.
Sobre el tema licencia, me han aclarado que solo piden que los desarrolladores nos pongamos en contacto con ellos para obtener una licencia gratuita. Segun ellos, solo es para saber donde se estan usando sus tabletas y para ofrecer el servicio técnico.

Puesto que no fue posible usar esta tableta, me decidí a comprar otra, de Step Over. Aqui todo han sido facilidades: Contacto directo telefónico con el servicio técnico en Madrid, Instalar el SDK y funcionar a la primera. En un par de horas he integrado el funcionamiento de la nueva tableta a mi aplicación. Sin necesidad de archivos DLL, solo incluir un par de uses y basta. Vaya cambio!

Quiero agradecer enormemente la ayuda que me habéis prestado, Neftali y Casimiro. Admiro mucho vuestros aportes, y los del resto de veteranos del foro, que es un recurso valiosísimo para mi trabajo. No acostumbro a preguntar, ya que casi siempre encuentro las respuestas en hilos anteriores. Si alguna vez puedo aportar algo, lo haré, pero reconozco que mi nivel de programación esta bastante por debajo del nivel de este foro, el el que aprendo contínuamente.

Casimiro Notevi 30-04-2019 17:41:30

Esos funcionan muy bien ^\||/

Neftali [Germán.Estévez] 03-05-2019 11:18:54

Habría que dejar constancia de eso por si alguien más necesita recomendaciones.

Tableta Step Over ^\||/^\||/^\||/^\||/
Tableta Wacom v\||/v\||/v\||/v\||/

Gracias por la información y el resumen final.


La franja horaria es GMT +2. Ahora son las 20:04:07.

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