这次项目采用.Net技术开发。所以采集卡这次要将VB代码控制部分进行改变。
开始我用VB转C#工具,生成出来的C#看似有用,我把功能基本上写了一大部分,经过调试发现根本没有用。
那么怎么办?毕竟这卡官方没有最新的开发语言支持,当初VB代码也是我自己摸索出来的,VB代码写的控制部分已经经过我们的实验都是正确的!
所以能否将以前写的VB部分利用起来,又能和C#语言结合!?
于是最佳方案出来啦! 采集卡做成一个VB控件 ActiveX 方式。然后给C#调用!那么就太方便了呀~这样之前VB代码也经过了考证,是可以的!
于是开始搞!
第一步先建立VB采集卡控制控件。
编译出来的结果是
这个OCX就是我做出来的USB2812 控件。
在VS2010 工具箱中导入。就可以看见了。
拖入WINFROM 中就可以看见了!!!
同时引用中就可以看见2个自动被引入的dll。。。很奇怪这2个DLL这么来的???有什么作用?
后来我没次更新一次 OCX,在VS中就有重新搞一次,非常的复杂,还容易弄坏winfrom。。。这个真不是一个办法。
于是我就开始着手研究这个dll 是怎么来的。想对于ocx我更喜欢这个DLL,有了DLL 岂不更方便?
于是上网差资料 发现
详细出处参考:http://www.jb51.net/article/34766.htm”
1.打开VS2008或VS2010命令提示符(此例用VS2008)
将ocx文件拷贝到d:\Program Files\Microsoft Visual Studio 9.0\VC下
2.注册ActiveX控件
regsvr32 IB_USBKEY.ocx
3.编译OCX文件
aximp IB_USBKEY.ocx
生成两个dll文件,项目中引用Ax前缀的文件
4。将生成的两个dll文件拷贝到项目中
原来这2个DLL是用这个生成出来的!!!太棒了,OCX每次升级很不方便,用DLL岂不更爽!
于是用这个方法!先用VB做OCX,然后转成.NET 用的DLL,引入即可用了!
为什么会出现2个呢?据我观察,Ax前缀的DLL 对USB2812LIB进行的封装,加了析构函数。
所以在NEW的时候 用AxUSB2812LIB
、
大功告成!!
=============================================================
原文链接:https://www.f2er.com/vb/257537.html