关于C#开发OCX组件的说明

1、  什么是OCX?

OCX是指用C++、C#或者VB开发的COM组件,对外开放的接口可提供和html进行调用,解决html调用本地电脑资源或者第三方集成的问题。应用场景包括银行、视频播放(用flash也能解决相关问题)等。

2、  OCX、COM的区别以及C++、C#和VB开发的组件的区别?

对于HTML调用的组件来说,OCX和COM没有任何区别,用C++和VB开发可以生成OCX或COM组件,但是用C#只能生成COM组件。

C#是微软的产物,所以其生成的COM组件目前只能提供给IE使用;

OCX同样支持IE,但是在也可以开发出非IE内核使用;

3、  C#开发COM组件需要选择的项目?

对于windows开发而言,实质上开发COM就是开发DLL,选择C#开发基本上都是使用Virual Studio(我使用的是VS2008,.NET版本是3.5),新建项目选择类库即可。

4、  开发结束后对外开放的接口如何提供给HTML使用?

想要使DLL能为COM组件在程序里需要对AssemblyInfo.cs(Android开发同事可以将其理解为Android里面的AndroidManifest.xml)文件添加[assembly: Guid("151e5c23-d121-4f26-a035-7a43f6d775b0")],表示此项目向COM公开,GUID用于类型库;

在开放接口类里面实现IObjectSafety接口(实现代码不用改,网上都是一样的,直接拿过来就行);

最后在你的开放接口类外部添加自定义GUID,这是最关键的一步,[GuidAttribute("1A585C4D-3371-48dc-AF8A-AFFECC1B0967")],这个GUID需要自己生成,HTML的开发者在集成安装你提供的COM组件后需要知道你的GUID,才能正常使用你提供的接口;

HTML里面先加载COM组件(注意:这里对于HTML而言不关注OCX或者COM里,调用方法一样),<objectid="YouOcx"classid="clsid:FD05F7D5-BA6A-4d6a-9F79-DFADB79BA2B0"></object>, 这里的classid就是你开发COM组件所 使用的GUID,然后在html里面就可以使用该对象了,varocx = document.getElementById("YouOcx ");

ocx.XXX();,这里的XXX()就是你COM所提供给HTML调用的方法。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值