2013-08-08 2 views
0

vb.net. 2010을 사용하여 지문 확인에 문제가 있습니다. SQL 문에서 값을 검색 할 수 있었으며 바이트를 템플릿으로 변환 할 수있었습니다. .VB .net 지문 확인 - 개체 참조가 개체의 인스턴스로 설정되지 않았습니다.

오류는 templa8이 설정되지 않았다고 말합니다.

Protected Sub Process(ByVal Sample As DPFP.Sample) 
    DrawPicture(ConvertSampleToBitmap(Sample)) 

    Dim features As DPFP.FeatureSet = ExtractFeatures(Sample, DPFP.Processing.DataPurpose.Verification) 

    If TextBox2.Text = String.Empty Then 
     MySql = "select customerid,FpTemplate1 from tblFp" 
    Else 
     MySql = "select a.customerid,b.FpTemplate1 as FpTemplate1,a.customername from tblCustomerDetails a, tblFp b WHERE a.CustomerID = b.CustomerID and CustomerName LIKE '%" & TextBox2.Text & "%'" 
    End If 

    Conn.Open() 

    ' Try 

    cmd = New SqlCommand(MySql, Conn) 

    Dim reader As SqlDataReader = cmd.ExecuteReader() 

    If reader.HasRows Then 
     While reader.Read() 

      Dim MemStream As IO.MemoryStream 
      Dim fpBytes As Byte() 

      fpBytes = reader(1) 
      MemStream = New IO.MemoryStream(fpBytes) 

      Dim templa8 As DPFP.Template = New DPFP.Template() 
      templa8.DeSerialize(MemStream) 

      Me.Template = templa8 

      ' Check quality of the sample and start verification if it's good 
      If Not features Is Nothing Then 
       ' Compare the feature set with our template 
       Dim result As DPFP.Verification.Verification.Result = New DPFP.Verification.Verification.Result() 
       Verificator.Verify(features, templa8, result) 

       If result.Verified Then 

        Dim comments As String = "This Fingerprint is owned by " & reader(0).ToString 

        MessageBox.Show(comments) 
        Exit Sub 
       Else 
        MessageBox.Show("The fingerprint was NOT VERIFIED!") 
       End If 
      Else 
       MessageBox.Show("Fingerprint sample is not established!") 
      End If 


     End While 
    Else 
     MessageBox.Show("No record found!") 
    End If 
    cmd.ExecuteNonQuery() 
    ' Catch ex As Exception 
    '  MessageBox.Show(ex.Message, "Verification Error") 
    ' End Try 


    Conn.Close() 
End Sub 

도와주세요 :

오류는 다음과 같이 그녀,

DPFP.Error.SDKException: Event Handler has generated an Exception ---> System.NullReferenceException: Object reference not set to an instance of an object. 
    at LDPS.frmverify.Process(Sample Sample) in D:\My FILES\C# Projects\LDPS\frmverify.vb:line 66 
    at LDPS.frmverify.OnComplete(Object Capture, String ReaderSerialNumber, Sample Sample) in D:\My FILES\C# Projects\LDPS\frmverify.vb:line 140 
    at DPFP.Capture.Capture.MessageReceived(Message& m) 
    --- End of inner exception stack trace --- 
    at DPFP.Capture.Capture.MessageReceived(Message& m) 
    at DPFP.Capture.Capture.MessageEvents.MessageWindow.WndProc(Message& m) 

내 코드는 오류입니다됩니다 Verificator.Verify (기능, templa8, 결과)

에서 시작

+1

Soooo, whats on line 66? – Lectere

+0

오류가 발생한 코드의 정확한 부분과 정확한 변수를 알고있는 경우 문제가 무엇입니까? 이 오류는 일반적으로 null 변수 (templa8)를 사용할 때 null 변수 (Verificator.Verify (features, templa8, result))를 사용할 수없는 경우에 트리거됩니다. 이 변수를 채우는 사람 (templa8.DeSerialize (MemStream))과 null (잘못된 MemStream?)을 결정해야하는 사람이 있습니다. – varocarbas

답변

0

문제가 해결되었습니다. 시스템은 이제 정상적으로 작동합니다. 방금 다음 코드를 추가했습니다.

공개 이벤트 OnTemplate (ByVal templa8)