Type Incompatible When Calling ActiveXObejct's Method in Web Page
-
Here is my code:
<object id="ZKFPEngX1" classid="CLSID:CA69969C-2F27-41D3-954D-A48B941C3BA7"> </object> <script id="ZKFPEngX1_OnCapture" for=ZKFPEngX1 event=OnCapture(ActionResult,ATemplate) > LastCaptureTemplate = ATemplate; //Call a Web Server's method FingerPrint.GetCqryFingerData(GetCqryFingerDataCallback); </script> <script type="text/javascript" language="javascript"> var ZKFPEngX1 = document.getElementById("ZKFPEngX1"); var RegFeatureChanged = false; var LastCaptureTemplate; ZKFPEngX1.InitEngine() ZKFPEngX1.BeginCapture(); function GetCqryFingerDataCallback(response) //Web Server method call complete { var t = response.value.Tables[0]; var FoundPID = ""; for (i=0;i<t.Rows.length;i++) { var StoredTemplate = t.Rows[i].FINGERPRINT; //FINGERPRINT is byte arrays(JavascriptType) // VerFinger generate an error: Variant is not an array if (ZKFPEngX1.VerFinger(LastCaptureTemplate, StoredTemplate, false, RegFeatureChanged)) { FoundPID = t.Rows[0].PID; break; } } } </script>
And here is our vender's SDK documentation:VB language expression is used here, and fingerprint template Variant variable show as one-dimension byte arrays. Function VerFinger(byval regTemplate, verTemplate, AdoLearning As Boolean, byval AregFeatureChanged As Boolean) As Boolean Events: OnCapture(ActionResult AS Boolean, ATemplate)
When calling VerFinger(), it generate an error: Variant is not an array.I type 'typeof LastCaptureTemplate' in the debug window and it returns 'Unknown'. I think this is because VB array and Javascipt array are Incompatible. Can any one help me? Any idea will be appropriate. Thanks a lot. Also thanks CodeProject. I have got a lot of help here.