文档章节

动手制作自己的VB控件 ActiveX 方式。然后给C#调用!

曹梦龙
 曹梦龙
发布于 2015/02/26 10:15
字数 747
阅读 385
收藏 1

这次项目采用.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 岂不更方便?

于是上网差资料 发现

“将ocx文件转换成C#程序引用的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


大功告成!!

=============================================================


© 著作权归作者所有

共有 人打赏支持
曹梦龙
粉丝 14
博文 27
码字总数 12015
作品 0
扬州
高级程序员
activex开发心得

如果你想通过C#和VB.net来做ActiveX的请,我劝你尽快打消这个念头。.net认为ActiveX技术是过时的,所以C#和Vb.net都做不了ActiveX。C#和VB.net可以做类似的东西,但它不叫ActiveX而是叫windo...

晨曦之光
2012/05/16
1K
0
用C#编写ActiveX控件(一)

前些日子做一个Web项目,必须自己编写一个ActiveX控件。如今的ActiveX控件大多是使用VB/C++来开发的,而我对他们并不熟悉,因此考虑使用熟悉的C#编写ActiveX控件。 首先,建立一个WinForm控件...

老朱教授
2017/09/05
0
0
【转】ActiveX控件注册的几种方法

from:http://hi.baidu.com/estellejiang/blog/item/af16e862bbd1d3d7e6113aa7.html ActiveX控件是一个动态链接库,是作为基于COM服务器进行操作的,并且可以嵌入在包容器宿主应用程序中, Ac...

夏春涛
2009/10/12
0
0
CodeFx:一站式微软开发技术解决方案

晚上在博客堂读完VSTO写的一篇文章,介绍了CodePlex上面的一个项目,叫做“All-In-One Code Framework”,代号CodeFx,简单的说,就是收集了几乎所有常见的微软开发技术的示例项目,将其打包...

嗯哼9925
01/07
0
0
MFC(ActiveX编程,孙鑫C++第十八讲笔记整理)

一:在VB中调用X控件,添加方法 project->Add components。另外可以用Object Browser来查看控件 二:在VC中创建X控件 1.新建一个X工程名为Clock,注意一个文件中可以包含多个控件。 2.保持缺...

小青_1989
2014/04/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

创建第一个react项目

sudo npm i -g create-react-app@1.5.2 create-react-app react-app cd react-apprm -rf package-lock.jsonrm -rf node_modules #主要是为了避免报错npm installnpm start......

lilugirl
52分钟前
1
0
在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络 (GAN)

Generative Adversarial Network 是深度学习中非常有趣的一种方法。GAN最早源自Ian Goodfellow的这篇论文。LeCun对GAN给出了极高的评价: “There are many interesting recent development...

naughty
今天
0
0
搬瓦工镜像站bwh1.net被DNS污染,国内打不开搬瓦工官网

今天下午(2018年10月17日),继搬瓦工主域名bandwagonhost.com被污染后,这个国内的镜像地址bwh1.net也被墙了。那么目前应该怎么访问搬瓦工官网呢? 消息来源:搬瓦工优惠网->搬瓦工镜像站b...

flyzy2005
今天
2
0
SpringBoot自动配置

本篇介绍下,如何通过springboot的自动配置,将公司项目内的依赖jar,不需要扫描路径,依赖jar的情况下,就能将jar内配置了@configuration注解的类,创建到IOC里面 介绍下开发环境 JDK版本1.8 spr...

贺小五
今天
3
0
命令行新建Maven多项目

参考地址 # DgroupId 可以理解为包名# DartifactId 可以理解为项目名mvn archetype:generate -DgroupId=cn.modfun -DartifactId=scaffold -DarchetypeArtifactId=maven-archetype-quickst......

阿白
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部