delphi开发activex控件的心得

原创 2007年09月29日 15:58:00

用Delphi开发OCX的心得

最近在做的一个B/S系统要在客户端读取USB锁的要求,所以就需要写一个OCX来验证。原来也没有做过,所以
折腾了好几天,总算有点眉目了,所以把心得写下,交流下。

  首先要弄明白你要写的OCX是用在客户端还是用在服务器端
  假如用在客户端:
  1、创建
  打开delphi 7,选择菜单“new”->“other”->“activex”->“active form”->输入项目名称,
  系统自动给你创建了3个文件,一个是项目文件,一个是form的单元文件,还有一个后缀带TLB
  的文件。这三个文件中的你只需要更改form的单元文件,项目文件一般不需要写什么,TLB文件
  有系统自动维护。
  2、增加接口函数
  所谓接口函数就是调用OCX的程序可以直接调用的函数,如果你要写的函数不提供
  外部函数可以按常规声明就可以。但要声明接口函数则必须按步骤声明,有两种途径,其一:选择form
  单元文件,然后点击“edit”->“add to interface”,弹出一个对话框,输入要声明的函数,如:function fun:integer;
  其二:选择form单位文件,然后点击“view”->“Type Library”,弹出一个对话框,然后点击工具栏中“add a interface”
  可以增加函数或过程。
  说明:在这里注意几个地方,第一,一定要选form文件才可以,否则相应的菜单都是不可用的;第二、声明函数或
  过程的参数类型要注意string->BSTR(第二种途径)或WideString(第一种途径)。
  增加属性也函数类同。
  3、调试
  我是用html调试的,所以可用在delphi种配置run的参数
  “run”->“parametes”,弹出一对话框,在“host application”中输入C:/Program Files/Internet Explorer/IEXPLORE.EXE,
  在“parametes”中http://192.168.6.9/my.htm,这样就可以调试delphi代码了
  4、发布
  在没有build前,可以“project”->“web deployment”中配置(主要输入ocx的地址和web服务器的url),然后可以“web deploy”发布,
  其实就是生成了一个htm文件,不过该文件里包含了调用方法而已。但是delphi好像至运行执行一次,发布后这两个菜单就不可用了,
  甚至刚开始我不知道,直接编译了,编译后该菜单也不可用了。
  说明:如果没有用“web deploy”发布,而想在网页中调用的,就要知道该ocx的GUID,可以在TLB文件中找,CLASS_XXX后面的就是,
  这一点也需要注意。
  5、数字签名
  要想网页能够顺利使用ocx,就需要数字签名,否则IE直接就给干掉了,当然IE安全级调低除外。关于生成测试数字签名的方法,网上很多。
  我想要说得是,测试数字证书只能用在win2000系统,用在XP,特别是打了补丁的XP,根本不行。
  另外也可以参考《使用Delphi快速开发ActiveX控件》这篇文章
 
  如果用在服务器端:
  其实应该是COM组件了吧,asp的调用方式是
  <%
    set obj=Server.CreateObject("DelphiCom.Test2")
  %>
  1、创建
  打开delphi 7,选择菜单“new”->“other”->“activex”->“active libray”生成一个项目,然后再
  “new”->“other”->“activex”->“automation object”,然后参照上面增加接口函数,就可以。不过编译出来是个dll,但是是可以注册的dll。
  “automation object”也可以换成“com object”,但两者是有区别的,具体可以网上查询。
 
  其它就不写了,希望能和各位交流。
   

VC ActiveX 控件 开发总结

VC 制作ActiveX 控件(OCX) http://ileson.iteye.com/blog/1002910 1、vc6下建立一下activeX工程     详见http://hi...
  • bcbobo21cn
  • bcbobo21cn
  • 2016年03月27日 12:19
  • 1585

Delphi2007 下安装ActiveX控件

此英文文章来自codegear官方网站,但是是讲在BDS2006 下如何安装,我在delphi 2007下用此方法,一样通过,原文如下 Description:How to import an Act...
  • lee576
  • lee576
  • 2007年09月03日 19:44
  • 3872

delphi 2010 开发 ActiveX

delphi 2010 开发 ActiveX 带截图
  • zhangxiaonanwin
  • zhangxiaonanwin
  • 2010年12月25日 14:34
  • 1348

用delphi制作无界面的activex控件

 首先,您要了解: COM的基本原理能被网页调用的非可视ActiveX控件必须是一种至少实现了IOleObject接口的TAutoObject组件利用Delphi向导生成的ActiveX控...
  • zi_wu_xian
  • zi_wu_xian
  • 2014年01月22日 11:52
  • 1335

带界面的ActiveX控件

http://blog.csdn.net/wangzhiyang925/article/details/38715605
  • liangjisheng
  • liangjisheng
  • 2017年05月16日 13:58
  • 328

delphi 10 lite安装 Activex控件的变通方法

delphi 10 lite 直到现在的v3.0还没有加入“Import a Type Library”,很多优秀的Activex控件自然无法使用。本人电脑中同时安装了delphi 7 和delphi...
  • fluky
  • fluky
  • 2007年07月07日 14:23
  • 1618

VS 2012 C#ActiveX控件开发总结

ActiveX 控件以前也叫做OLE 控件或OCX 控件,它是一些软件组件或对象,可以将其插入到WEB 网页或其它应用程序中。使用ActiveX 插件,可以轻松方便的在Web 页中插入多媒体效果、交互...
  • lucky51222
  • lucky51222
  • 2016年04月19日 10:43
  • 7301

【VS开发】 自己编写一个简单的ActiveX控件——详尽教程

最近开始学ActiveX控件编程,上手不太容易,上网想找相关教程也没合适的,最后还是在师哥的指导下完成了第一个简单控件的开发,现在把开发过程贴出来与大家分享一下~ (环境说明——平台:vs2005;...
  • LG1259156776
  • LG1259156776
  • 2016年07月23日 15:26
  • 5216

delphi实现web activex控件

目前在做一个项目,开发一个控件供给web使用,第一次开发Delphi ActiveX,记录开发过程。1、新建一个ActiveX Library工程。2、接着新建一个Type Library。3、现在新...
  • justit
  • justit
  • 2008年12月16日 15:51
  • 898

用delphi开发activex打印控件

     做web最不好弄的就是打印了,用IE自带的打印功能不太完美,功能也不强,所以我就将fastreport 4.3报表集成到web中,实现的方法:delphi7的activex+fastrepo...
  • baronyang
  • baronyang
  • 2009年08月20日 10:41
  • 4455
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:delphi开发activex控件的心得
举报原因:
原因补充:

(最多只允许输入30个字)