delphi之:如何快速开发原生ActiveX控件

本文介绍了如何使用Delphi 2010开发原生ActiveX控件,包括创建ActiveX库、添加ActiveX Form、设置属性、注册控件以及在HTML中测试控件的功能。通过实例展示了添加属性、方法、事件处理和测试ActiveX控件的过程。
摘要由CSDN通过智能技术生成

ActiveX技术虽然是一项古老的技术,但是却有着广泛的应用,支付宝的密码输入控件,各大银行的密码输入控件,网页聊天室中的截屏功能,网页播放器中的p2p播放...甚至Flash,Silverlight等等,在IE中都表现为ActiveX。虽然c#也能开发"用于网页的com应用",能达到类似ActiveX的效果(可参见c#中开发ActiveX的学习笔记),但是有一个要命的问题是必须得安装几百M的.net framework框架,如果仅仅为了安全的输入一个密码,而要用户下载几百M的安装程序,这是很多人不能接受的,delphi做为win32下的原生开发工具,能很好的支持微软各种"古老"的经典技术。(再做点小广告:delphi的kyrix版本还能编译跨平台的应用哦!)

ok,开工吧:

开发工具:推荐用delphi 2010(d7也可以,不过添加属性,方法等过程要手动,稍微麻烦点)

1.启用delphi2010-->File->New->Other-->Active Library

转载:重温delphi之:如何快速开发原生ActiveX控件 - kougq168 - 成长历程。。。

2.项目命名为MyActiveX

转载:重温delphi之:如何快速开发原生ActiveX控件 - kougq168 - 成长历程。。。

3.File-->Save All 全部保存

实际上这样就能编译了,不过只是空的dll

4.File-->New-->Other-->Active Form

转载:重温delphi之:如何快速开发原生ActiveX控件 - kougq168 - 成长历程。。。

改名为MyForm

转载:重温delphi之:如何快速开发原生ActiveX控件 - kougq168 - 成长历程。。。

将对应的单元文件,保存为UMyForm.pas

5.打开MyAcitveX.ridl文件,切换到design视图,选中IMyForm接口,右击New-->Property 添加一个属性Msg

转载:重温delphi之:如何快速开发原生ActiveX控件 - kougq168 - 成长历程。。。

将Msg属性的Type改为BSTR 即WideString类型

转载:重温delphi之:如何快速开发原生ActiveX控件 - kougq168 - 成长历程。。。

完了之后,点击工具栏中的Refresh Implementation(即上图中工具栏中圈起来的部分)--这一步很重要,点击之后,它将自动生成属性Msg对应的声明和实现代码模板

6.打开UMyForm.pas--即ActiveForm对应的单元,找到Set_Msg以及Get_Msg的实现部分,补充代码如下:

function TMyForm.Get_Msg: WideString;

begin

    result:=_msg;

end;



procedure TMyForm.Set_Msg(const Value: WideString);

begin

  _msg := value;

end;

当然TMyForm的private部分,得先加一个私有成员

type

  TMyForm = class(TActiveForm, IMyForm)

  private

    { Private declarations }

    _msg:WideString;

...

这样我们就为即将生成的ActiveX控件,添加了一个字符串类型的属性Msg,下面来测试一下:

7.编译项目,会生成一个MyActiveX.ocx,在运行栏里输入

regsvr32 C:\Users\jimmy.yang\Desktop\delphi_activex\MyActiveX\MyActiveX.ocx

注:这里ocx的路径,请各位根据自己的实际路径修改

这样就完成了ocx的注册。

8.放到html里测试一下:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值