Hi
Soory to bother because I am sure I made something wrong and probably very stupid, but I cannot detect what !!!
I received this error message :
GExperts Debugger Exception Notification
Project Bagueur.exe raised exception class ERangeError with message 'Erreur de vérification d'étendue at address 00000000029311D5'.
[&Filter ...] [Ignore &All this Session] [Break] [Additional &Info] [Continue]
ThreadId=27160
ProcessId=10
ThreadName=""
ExceptionMessage="Erreur de vérification d'étendue at address 00000000029311D5"
ExceptionName="ERangeError"
ExceptionDisplayName="ERangeError"
ExceptionAddress=7FFCFF38FE7C
FileName=
LineNumber=
ExceptionObject=264BE2EB8D0
Classes=[ERangeError,EIntError,EExternal,Exception,TObject]
I followed indication from your PDF file and demo. Thus my code is simply :
FUNCTION TfDivers.Signer_PDF(Source : String): Boolean;
Var
Fichier_Cle, Fichier_Cert, Temp : String;
PAdES: TPAdES;
BEGIN
PAdES := TPAdES.Create;
TRY
TRY
Fichier_Cle := 'xxx.key'; // Fichier de la cle;
Fichier_Cert := 'xxxx.crt'; // Fichier du certificat;
Ok := FileExists(Fichier_Cle) AND FileExists(Fichier_Cert);
IF Ok THEN
BEGIN
PAdES.KeyFilePath := Fichier_Cle;
PAdES.CertFilePath := Fichier_Cert;
PAdES.PKCS11Param.isToken := false;
Temp := 'xxx\Fichier de test pour signature.pdf';
Source := 'xxx\Fichier de test pour signature_sign.pdf';
PAdES.PathToOriginalFile := ExtractFilePath(Temp);
PAdES.GenerateSignature(Temp, Source);
Result := True;
END ELSE
BEGIN
Result := False;
RAISE System.SysUtils.Exception.Create(_('Les fichiers key ou crt sont introuvables'));
END; // Fin de IF
END
ELSE
BEGIN
Result := False;
RAISE System.SysUtils.Exception.Create(_('Le fichier PDF a eu un problème'));
END; // Fin de IF
EXCEPT ON E: System.SysUtils.Exception DO
BEGIN
Result := False;
TMSLogger.ErrorFormat(
'Invisible -{%s}- {%s} avec le message: {%s}',
['I10', E.ClassName, E.Message]);
END;
END; // Fin de EXCEPT
FINALLY
PAdES.Free;
END; // Fin de FINALLY
END; // Fin de FUNCTION
Please note, if I used your demo using the same key, crt and pdf file to generathe the pdf file signed, it works. I dond't understand
Thanks in advance
olivier