应用开发过程中,由于涉及的厂家较多,且各厂家提供的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(免注册),正在尝试...如果没有更好的建议的话,我就结贴咯
嗯,不错,根据这篇文章,我搜索到了其他与COM的Reg-Free(免注册)相关的文章。
园子里的其中一篇文章不错。http://www.cnblogs.com/winston/archive/2009/06/07/1498000.html
我先用免注册方式试试看,还有建议的,也可以发上来喔!