vfp中控指纹仪调用出错

etbjian 2017-05-20 10:11:05
*** ActiveX Control Event ***
LPARAMETERS actionresult

sTemp = thisform.OleControl1.EncodeTemplate1(thisform.OleControl1.GetTemplate())
If FMatchType = 1 Then
RegChanged = .F.
SELECT ls
ZAP
If thisform.OleControl1.VerFingerFromFile('c:\1.xxx', thisform.OleControl1.VerTplFileName, .F., @RegChanged)
APPEND BLANK
REPLACE ls1 WITH 1
REPLACE ls2 WITH '拇'
ELSE
APPEND BLANK
REPLACE ls1 WITH 0
REPLACE ls2 WITH '拇'
ENDIF
IF thisform.OleControl1.VerFingerFromFile('c:\2.xxx', thisform.OleControl1.VerTplFileName, .F., @RegChanged)
APPEND BLANK
REPLACE ls1 WITH 1
REPLACE ls2 WITH '食'
ELSE
APPEND BLANK
REPLACE ls1 WITH 0
REPLACE ls2 WITH '食'
ENDIF
IF thisform.OleControl1.VerFingerFromFile('c:\3.xxx', thisform.OleControl1.VerTplFileName, .F., @RegChanged)
APPEND BLANK
REPLACE ls1 WITH 1
REPLACE ls2 WITH '中'
ELSE
APPEND BLANK
REPLACE ls1 WITH 0
REPLACE ls2 WITH '中'
ENDIF
IF thisform.OleControl1.VerFingerFromFile('c:\4.xxx', thisform.OleControl1.VerTplFileName, .F., @RegChanged)
APPEND BLANK
REPLACE ls1 WITH 1
REPLACE ls2 WITH '无名'
ELSE
APPEND BLANK
REPLACE ls1 WITH 0
REPLACE ls2 WITH '无名'
ENDIF
IF thisform.OleControl1.VerFingerFromFile('c:\5.xxx', thisform.OleControl1.VerTplFileName, .F., @RegChanged)
APPEND BLANK
REPLACE ls1 WITH 1
REPLACE ls2 WITH '小拇'
ELSE
APPEND BLANK
REPLACE ls1 WITH 0
REPLACE ls2 WITH '小拇'
ENDIF

LOCATE FOR ls1=1
IF FOUND()
MessageBox(ALLTRIM(fingprin.xming)+'、'+ALLTRIM(fingprin.zfxming)+ALLTRIM(ls.ls2)+'指指纹比对成功!')
oSpeech = CreateObject("SAPI.SpVoice") &&连接到系统的语音功能
sWord=ALLTRIM(fingprin.xming)+ALLTRIM(fingprin.zfxming)+'指纹比对成功'
oSpeech.Speak(sWord) &&让系统读出字符串里的内容
oSpeech=NULL

Else
MessageBox(ALLTRIM(fingprin.xming)+'、'+ALLTRIM(fingprin.zfxming)+'指纹比对失败,请换手指重试!')
oSpeech = CreateObject("SAPI.SpVoice") &&连接到系统的语音功能
sWord=ALLTRIM(fingprin.xming)+ALLTRIM(fingprin.zfxming)+'指纹比对失败,请换手指重试!'
oSpeech.Speak(sWord) &&让系统读出字符串里的内容
oSpeech=NULL

EndIf
else
if FMatchType = 2 Then
Score = 8
ProcessNum = 0
fi = thisform.OleControl1.IdentificationFromFileInFPCacheDB(fpcHandle, thisform.OleControl1.VerTplFileName, @Score, @ProcessNum)
If fi = -1 Then
MessageBox(ALLTRIM(fingprin.xming)+'、'+ALLTRIM(fingprin.zfxming)+'指纹比对失败,请换手指重试!')
Else
MessageBox(ALLTRIM(fingprin.xming)+'、'+ALLTRIM(fingprin.zfxming)+'指纹比对成功!')
EndIf
endif

ENDIF

在OnCaptureToFile中执行蓝色部分出错“OLE错误码0x80004005 Unspecified error”,把蓝色代码放在command中,执行“click”thisform.command12.click出现同样错误。
请问各位版主问题出在何处?如何解决?
...全文
992 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
etbjian 2017-10-05
  • 打赏
  • 举报
回复
中控的4000B sensor
czw8819 2017-08-28
  • 打赏
  • 举报
回复
请问 etbjian 用中控的哪个型号考勤机? 可以给个开发包吗?
etbjian 2017-05-22
  • 打赏
  • 举报
回复
已解决。不用oncapturetofile,在command.click里比对,只是需要先扫描指纹,再click。
etbjian 2017-05-21
  • 打赏
  • 举报
回复
谢谢豆老大,不过不是系统的问题,直接按command12是可以语音的,只是不能在这里运行,也不能调用thisform.command.click
十豆三 2017-05-20
  • 打赏
  • 举报
回复
尽量不要安装精简/克隆版的系统
十豆三 2017-05-20
  • 打赏
  • 举报
回复
应该是系统缺少语音库,安装完整的操作系统吧

2,718

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧