首页新闻找找看学习计划

将OCX接口方法,封装到DLL,请给点建议!

0
悬赏园豆:50 [已解决问题] 解决于 2012-04-15 18:58

应用开发过程中,由于涉及的厂家较多,且各厂家提供的SDK接口方法,在功能及调用流程上,都大同小异。

考虑到易于扩展、易于维护,于是将各厂家提供的SDK接口方法封装。目前,各厂家提供的SDK有两种,一是提供动态库(DLL),一是提供OCX。

对于动态库形式的接口封装,已经用P-INVOKE实现,不过还存在一个动态加载DLL的操作未完成,暂时采用静态加载方式(DLLIMPORT指定当前目录的DLL文件名)。

但对于OCX的封装,确实是无从下手。主要考虑的因素,是OCX安装注册。如果指定厂家的OCX控件不使用,那么我也不想在服务器上安装该OCX控件,但接口封装模块对OCX的封装依然保留。要达到的效果,厂家接口的使用与否,只通过配置来操作,对于OCX控件,只在需要时才安装。

不论OCX控件,是否带UI,都不要把它拖到我的程序界面上来。但现在的问题是,我尝试过的操作中,如果没把OCX控件拖到程序界面,就是调用失败...

望各位路过的英雄,给点建议喔!

问题补充:

对于OCX封装,见得多的是把DLL封装到OCX,但我现在想要的是相反的过程,把OCX接口方法,封装到DLL,供程序业务层调用。

如果没有可行的封装方法,那就得针对每个OCX控件,做个特殊版本,只用于指定OCX的应用场合。或者,不做特殊版本,对于OCX控件不做封装,直接使用,但这样的结果是,不过OCX有没有用到,都得把所有OCX都安装一遍。(部分厂家只能提供OCX接口,我也无奈)

COM的Reg-Free(免注册),正在尝试...如果没有更好的建议的话,我就结贴咯

无疆的行者的主页 无疆的行者 | 初学一级 | 园豆:100
提问于:2012-04-15 11:59
< >
分享
最佳答案
0
收获园豆:50
zsounder | 老鸟四级 |园豆:2819 | 2012-04-15 13:37

嗯,不错,根据这篇文章,我搜索到了其他与COM的Reg-Free(免注册)相关的文章。

园子里的其中一篇文章不错。http://www.cnblogs.com/winston/archive/2009/06/07/1498000.html

我先用免注册方式试试看,还有建议的,也可以发上来喔!

无疆的行者 | 园豆:100 (初学一级) | 2012-04-15 14:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册