Проверка отпечатков пальцев с помощью Digital Persona - PullRequest
0 голосов
/ 14 ноября 2010

Я продолжаю получать следующую ошибку при выполнении процедуры проверки отпечатка пальца на шаблоне Digital Persona Я теперь в моем уме. Мои знания короткие, и у меня нет никого, к кому я мог бы обратиться. Не могли бы вы помочь.

СООБЩЕНИЕ ОБ ОШИБКЕ

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;

1 Ответ

0 голосов
/ 16 ноября 2010

Возможные причины:

(1) если pFeatureSet или Template равен nil, hten Res будет неопределенным, что приведет к исключению при вызове Res.Verified

(2) MRes.QueryInterfaceравен нулю;

(3) DPFPVerificationResult1 равен нулю

...