文档章节

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

曹梦龙
 曹梦龙
发布于 2015/02/26 10:15
字数 747
阅读 270
收藏 1
点赞 0
评论 0

这次项目采用.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 ⋅ 0

用C#编写ActiveX控件(一)

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

老朱教授 ⋅ 2017/09/05 ⋅ 0

【转】ActiveX控件注册的几种方法

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

夏春涛 ⋅ 2009/10/12 ⋅ 0

CodeFx:一站式微软开发技术解决方案

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

嗯哼9925 ⋅ 01/07 ⋅ 0

MFC(ActiveX编程,孙鑫C++第十八讲笔记整理)

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

小青_1989 ⋅ 2014/04/28 ⋅ 0

怎么将C#写的dll封装成AcitveX?

我有一个其他公司提供的dll,是用C#写的,里面有一些类,比如wgMjController,提供了一些对硬件设备的操作(通过udp),但是我对C#不熟悉,就想把这个dll封装成ActiveX控件,然后在java里面调...

黑色透明 ⋅ 2013/04/01 ⋅ 2

.net OCX 无法获取“****”控件的窗口句柄,不支持无窗口的ActiveX控 新解决方法

朋友找我帮原来的软件加一个小功能,程序是用VB.NET 写的。 软件需要与外部串口设备通信,一只带串口功能的压力表。 应该时间周期很急,所以串口部分我就直接用厂家提供的VB DEMO 写了个OCX...

曹梦龙 ⋅ 2015/06/27 ⋅ 0

c++ ActiveX基础1:使用VS2010创建MFC ActiveX工程项目

1.ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。这个容器包括WEB网页,应用程序窗体等。。。 ActiveX控...

moki_oschina ⋅ 2015/01/08 ⋅ 0

将Flash 嵌入WPF 程序

由于WPF 本身中不支持COM 组件同时也无法加载ActiveX 控件,所以需要借助WinForm 引用ActiveX 控件将Flash 加入其中。首先创建一个WPF 项目(WpfFlash),将Flash 文件(.swf)加入到项目中,...

junwong ⋅ 2012/03/09 ⋅ 0

Dynamic Web TWAIN 控件介绍

Dynamic Web TWAIN 使得你可以从任何兼容 TWAIN 的设备获取图象,并且上载扫描过的图象到网页服务器。是特别针对网页应用程序设计而提出的真实的网页扫描解决方案。它已经通过了 Lockheed M...

baobiaokongjian ⋅ 2014/04/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 30分钟前 ⋅ 0

Spring JavaConfig 注解

JavaConfig注解允许开发者将Bean的定义和配置放在Java类中。它是除使用XML文件定义和配置Bean外的另一种方案。 配置: 如一个Bean如果在XML文件可以这样配置: <bean id="helloBean" class="...

霍淇滨 ⋅ 38分钟前 ⋅ 0

Spring clound 组件

Spring Cloud技术应用从场景上可以分为两大类:润物无声类和独挑大梁类。 润物无声,融合在每个微服务中、依赖其它组件并为其提供服务。 Ribbon,客户端负载均衡,特性有区域亲和、重试机制。...

英雄有梦没死就别停 ⋅ 39分钟前 ⋅ 0

Confluence 6 重新获得站点备份文件

Confluence 将会创建备份,同时压缩 XML 文件后存储熬你的 <home-directory>/backups> 目录中。你需要自己访问你安装的 Confluence 服务器,并且从服务器上获得这个文件。 运行从 Confluence...

honeymose ⋅ 44分钟前 ⋅ 0

informix的常用SQL语句

1、创建数据库 eg1. 创建不记录日志的库testdb,参考语句如下: CREATE DATABASE testdb; eg2. 创建带缓冲式的记录日志的数据库testdb(SQL语句不一定在事务之中,拥有者名字不被用于对象的解...

wangxuwei ⋅ 59分钟前 ⋅ 0

matplotlib画图

最简单的入门是从类 MATLAB API 开始,它被设计成兼容 MATLAB 绘图函数。 from pylab import *from numpy import *x = linspace(0, 5, 10)y = x ** 2figure()plot(x, y, 'r')...

Dr_hu ⋅ 今天 ⋅ 0

RabbitMQ学习以及与Spring的集成(三)

本文介绍RabbitMQ与Spring的简单集成以及消息的发送和接收。 在RabbitMQ的Spring配置文件中,首先需要增加命名空间。 xmlns:rabbit="http://www.springframework.org/schema/rabbit" 其次是模...

onedotdot ⋅ 今天 ⋅ 0

JAVA实现仿微信红包分配规则

最近过年发红包拜年成为一种新的潮流,作为程序猿对算法的好奇远远要大于对红包的好奇,这里介绍一种自己想到的一种随机红包分配策略,还请大家多多指教。 算法介绍 一、红包金额限制 对于微...

小致dad ⋅ 今天 ⋅ 0

Python 数电表格格式化 xlutils xlwt xlrd的使用

需要安装 xlutils xlwt xlrd 格式化前 格式化后 代码 先copy读取的表格,然后按照一定的规则修改,将昵称中的学号提取出来替换昵称即可 from xlrd import open_workbookfrom xlutils.copy ...

阿豪boy ⋅ 今天 ⋅ 0

面试题:使用rand5()生成rand7()

前言 读研究生这3 年,思维与本科相比变化挺大的,这几年除了看论文、设计方案,更重要的是学会注重先思考、再实现,感觉更加成熟吧,不再像个小P孩,人年轻时总会心高气傲。有1 道面试题:给...

初雪之音 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部