使用delphi开发OCX插件

在C/S开发主导的时代,delphi无疑是windows开发的佼佼者,号称 vb killer,随着 java 和 C#的崛起,互联网开发时代来到,delphi也就失去了往日的光环,虽然现在绝大部分项目工作都是java web项目,但众所周知,web应用,要跟硬件打交道,特别是在浏览器中,单纯的jsp或者html、js,都无法实现,由于企业应用开发少不了要与硬件对接,如考勤机(人脸识别或指纹机)、门禁机、PDA(盘点机)等等,要实现在浏览器中对接硬件,其中一个可行方案就是开发IE浏览器下的OCX插件,OCX的本质就是一个C/S程序,可以访问浏览器所在电脑的资源,最常见的就是dll,通过dll操作与电脑相连的硬件。因为delphi太久没用,而ocx插件的开发也不是经常需要,导致每次开发都要翻看 以前的项目或资料重温技术实现,最近又有一个项目,即使用便携式指纹机实现硬件控制集团查看薪金权限,薪资管理员除了有系统功能操作权限外,还需要到人事部登记指纹,领取指纹机,在操作工资相关功能前,进行指纹认证,认证通过才能正常操作系统,趁着这次项目,把ocx开发过程记录下来,以备以后的不时之需,也供其他同行参考。

闲话少说,直入正题,本文提及的项目,使用delphi 7,下面从新建一个ocx项目开始,一步一步指引如何用delph 7开发一个可以在 IE 上运行的OCX插件;

一、插件ACTIVEX工程

1、启动Delphi,点击菜单 File->New->Other:

使用delphi开发OCX插件

2、选择【ActiveX】标签页,选中Active Form图标:

注:本案例中的OCX插件有用户交互界面,所以使用 ActiveX Form。

使用delphi开发OCX插件

3、为ActiveX项目和窗体对象命名:

使用delphi开发OCX插件

由上图可见,只需修改ActiveX窗体名称、窗体实现代码文件名、项目名即可,其他选项默认。

点击【ok】按钮完成项目创建,完成创建后的界面如下图:

使用delphi开发OCX插件

4、保存项目

点击菜单 File->Save All,在弹出的保存框,选择一个保存的目录,然后一直点击【保存】即可:

使用delphi开发OCX插件

 至此已完成一个ActiveX项目的创建,可以点击菜单 View->Units浏览delphi创建的相关代码文件:

使用delphi开发OCX插件

上面三个文件是delphi自动产生的,其概要作用是:

FingerEnrollFormImplOcx的实现类,编写代码基本都在这个文件中进行;

OfficeOcx:项目组织文件,一般不需要手工修改,由delphi自动维护;

OfficeOcx_TLBOCX类库代码文件,一般也不需要手工修改;

二、设计OCX接口方法

应用程序(本例即浏览器中的js代码)通过OCX提供的接口与OCX进行交互,Delphi会自动为OCX插件创建接口,我们只需跟进实际业务需要,为OCX接口增加相应的方法即可,如本案例需要添加5个接口方法:

InitDevice:链接指纹机;

SetUser:设置当前登记指纹的用户资料;

GetResult:获取指纹登记结果,0 失败,1成功;

GetFinger1:获取已登记的第一枚指纹数据;(每个用户登记两枚指纹,此款指纹机可以将采集的指纹信息转换成字符串,以便存储在数据库中)

GetFinger2:获取已登记的第二枚指纹数据;

下面介绍如何添加接口;

1、点击菜单 View->Type Libraly:

注:Type Libraly 是Delphi中一个很重要的工具,尤其是开发类库这一类的项目,必不可少。

使用delphi开发OCX插件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywzwx.html