博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# .NET中调用VB编写的DLL代码事例
阅读量:6643 次
发布时间:2019-06-25

本文共 1319 字,大约阅读时间需要 4 分钟。

转自:
 
.NET中如何调用VB6编写的DLL。

  本文以C#为例,自己实践了一下。希望对遇到相关问题的人有所帮助。

  本示例分成两部分,第一,生成vb的dll。第二,在C#中进行调用。

  第一部分:

  1.首先在VB中选择ACTIVX DLL工程类型。如图:

  

  2.然后修改工程名,class文件名,添加2个函数,如下图:

  

  方便copy,代码如下:

  Public Function FncTestDLLForDotNet(instr As String) As Integer

  FncTestDLLForDotNet = 9

  End Function

  Public Function FncTestDLLForDotNet2(instr As String) As Integer

  FncTestDLLForDotNet2 = 99

  End Function

  3.然后从文件菜单中选择生成TestDLLProject1.dll,即可生成DLL。

  下面为第二部分:

  1.打开vs2005,选用语言c#,工程类型为一个window application即可。

  在form上添加一个按钮。如下图:

  

 

我加的: 把TestDLLProject1.dll拷贝到System32文件夹下

  2.在解决方案资源管理器中,右键点引用,在弹出的对话框中选择浏览,找到System32里的TestDLLProject1.dll,选中它,点确定。即可加入到引用中。如下图:

  

  添加完后,会看到在引用中已经增加了对这个dll的引用,如图:

  

  3,最后一步了编写按钮的代码,来调用这个vb的dll中的方法。

  双击form上的button,在button的click事件中加入如下代码:

  TestDLLProject1.TestClass1 tc = new TestDLLProject1.TestClass1();

  string ss = "kkkk";

  int i = tc.FncTestDLLForDotNet(ref ss);

  int i2 = tc.FncTestDLLForDotNet2(ref ss);

  MessageBox.Show(i.ToString() + " " + i2.ToString());

  好,按ctrl+shift+b,编译工程,再按f5运行,点击按钮,如下图,成功弹出结果。

  如图:

  

 

 如果要移植到其他计算机上,需要把TestDLLProject1.dll复制到该机的System32文件夹下,并在“运行”中使用regsvr32 TestDLLProject1.dll这条命令来注册该组件(可能有的组件不需要注册吧),才能成功移植到其他计算机。否则会报错“检索COM类工厂中CLSID为{ 一串字符 } 的组件时失败,原因是出现以下错误:80040154”

 

转载于:https://www.cnblogs.com/JerryTian/archive/2011/02/28/1911123.html

你可能感兴趣的文章
微软开放技术热烈祝贺开源社成立!
查看>>
Download all Apple open source OS X files at once
查看>>
Objective-C点语法
查看>>
iOS应用程序状态切换相关
查看>>
理解AngularJS生命周期:利用ng-repeat动态解析自定义directive
查看>>
Programming Ability Test学习 1029. 旧键盘(20)
查看>>
控制器
查看>>
一些小问题
查看>>
使用python实现往手机发短信(基于twilio)
查看>>
Ubuntu开启Samba服务器,实现文件共享
查看>>
unity编程心得
查看>>
第十篇 javascript基础语法
查看>>
【洛谷团队题目】
查看>>
虚拟机Ubuntu16.04 Server设置NAT方式修改ip
查看>>
zw版【转发·台湾nvp系列Delphi例程】HALCON FastThreshold1
查看>>
深入JVM系列之(3):JavaCore和HeapDump
查看>>
9.12 h5日记
查看>>
使用Silverlight Streaming托管Silverlight应用程序
查看>>
Linux实战教学笔记39:Mha-Atlas-MySQL高可用方案实践(一)
查看>>
LeetCode: Restore IP Addresses
查看>>