0

Digital Persona Template で指紋認証手順を実行すると、次のエラーが発生し続けます。私は今、機知に富んでいます。私の知識は不足しており、頼れる人がいません。助けてください。

エラーメッセージ

Test17.exe raised EacessViolation with message;Access violation at address 004033B7E in module ‘Test17.exe’

検証を行うための Delphi 5 コード

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;
4

2 に答える 2

0

考えられる原因:

(1)pFeatureSetまたはTemplateがnilの場合、hten Resは未定義になり、Res.Verifiedが呼び出されたときに例外が発生します。

(2)MRes.QueryInterfaceはnilです。

(3)DPFPVerificationResult1はnilです

于 2010-11-16T05:10:45.637 に答える