Finger print verification with Digital Persona
I keep getting the following error when running the fingerprint verification procedure on the Digital Persona Template. I am now at my wits end. My knowledge is short and I don’t have somebody I can turn to. Can you please assist.
ERROR MESSAGE
Test17.exe raised EacessViolation with message;Access violation at address 004033B7E in module ‘Test17.exe’
DELPHI 5 CODE TO DO THE VERIFICATION
procedure TFormVerify.DPFPVerificationControl1Complete(Sender: TObject;
const pFeatureSet, pStatus: IDispatch);
var
lStr, Str1,Str2 : AnsiString; //Deserialize method
lByteArray : Variant;
lArrayPointer : Pointer;
DPFPTemplate : TDPFPTemplate; //IDispatch;
MFar : Integer; //Long integer of result archieved
MVerified : Boolean; //Result of whether finger has been verified or not
MFeatureSet : Variant; //IDispatch, Variant;
MTemplate : Variant; //IDispatch, Variant;
MRes : Variant; //TDPFPVerificationResult;
oVerificationResult : DPFPVerificationResult;
begin
// Experiment
MFeatureSet := pFeatureSet; // Dispatch cast to Variant
MTemplate := Template; // Dispatch cast to Variant
Str1 := MfeatureSet.Serialize; // Note string shows
Str2 := Mtemplate.Serialize; // Note string shows
try
if (pFeatureSet=nil) or (Template=nil) then
MessageDlg('Empty Featureset or Template!', mtInformation,[mbOk], 0)
else
Res := Ver.Verify(pFeatureSet, Template); // ERROR MESSAGE
MRes := Res;
MVerified := MRes.Verified;
MFar := MRes.QueryInterface.FARAchieved; DPFPVerificationResult1.FARAchieved;
开发者_运维技巧 except
on E: Exception do MessageDlg(E.Message +' : ' + IntToStr(E.HelpContext), mtInformation,[mbOk], 0);
end;
Possible causes:
(1) if pFeatureSet or Template is nil, hten Res will be undefined, leading to an exception when Res.Verified is invoked
(2) MRes.QueryInterface is nil;
(3) DPFPVerificationResult1 is nil
DPFPTemplate: DPFPFeatureSet; //IDispatch;
MFeatureSet := pFeatureSet as DPFPFeatureSet; // Dispatch cast to Variant
精彩评论