vb 如何调用 NET写的DLL?
VB.net语言
目前创新互联已为成百上千的企业提供了网站建设、域名、网站空间、网站托管、服务器租用、企业网站设计、建水网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
1、创建组件定义
新建一个Probject,在代码中写入:
Public Interface IDemo
Function Test() As String
End Interface
2、实现组件定义
新建一个Probject,添加对上述Probject的引用后,在代码中写入
Public Class Demo
Implements IDemo.IDemo
Public Function Test() As String Implements IDemo.IDemo.Test
Test = "Hello World!"
End Function
End Class
3、编译出Demo.dll组件
4、使用.net的工具 Visual Studio .Net 2003 Command Prompt,输入以下命令
Regasm Demo.dll /tlb:Demo.tlb
把Demo.dll注册为一个com对象(这个com对象不等同于普通的用VB编写的Com对象),并导出类型库Demo.tlb
5、新建一个VB工程,添加对Demo.tlb和IDemo.tlb的引用
6、定义两个全局变量
Dim vbDemo As Demo.Demo
Dim vbIDemo as IDemo.IDemo
7、在Form_Load事件中初始化
'初始化实体类
Set vbDemo = New Demo.Demo
'将实体类引用到抽象类
Set vbIDemo = vbDemo
8、然后,我们就可以用 vbIDemo.Test 这样的方法了
VB.NET加载指定路径的Dll,比如在当前窗口加载“C:\000.dll”并显示
同LS,“加载”是什么意思
单是加载的话,
非托管的用API LoadLibrary
托管的用 Assembly类的几个静态方法
不过你要怎么“显示”呢
比如,我写一个dll,里面就一个函数,Function Sum(Byval a As Integer,Byval b As Integer) As Long。你怎么显示呢?
“加载”dll的方法是通用的
但是“使用”(包括你所说的显示)dll要具体情况具体分析。除了一些分析dll的通用软件,大多数时候都要根据dll中提供的函数来决定。
比如VS的工具箱,可以“加载”控件的dll,但不能“加载”user32.dll
vb.net引用Dll的问题
上级目录不可以,但是为了保证程序路径改变,引用不会被破坏。可以有几个方法:
1.将DLL文件放在程序同级目录
2.将DLL文件放在程序子目录
3.将DLL文件放在System32目录下(系统目录,可以直接引用DLL)
4.可以将DLL文件打包成资源文件,融合到EXE程序中,每次执行判断同级目录是否有DLL文件,不存在,释放资源文件。
vb.net 如何导入名称空间
Imports 命名空间名称
如:Imports System.Data
这行代码是导入数据库命名空间。
如果系统提示找不到命名空间,说明你还没有将那个DLL引入到你的项目中。方法是在项目上右键,选择“添加引用”,找到相关的DLL文件就行了。
vb.net重命名文件夹,里面存在文件夹和文件,不用移动和复制的
Microsoft.VisualBasic.FileSystem.Rename(原文件夹完整路径名称,新的文件夹名称)
Microsoft.VisualBasic.FileSystem.Rename("D:\1", "D:\2\1")‘当路径不对时会把原文件夹剪切到“D:\2\”下面文件夹名称不变
Microsoft.VisualBasic.FileSystem.Rename("D:\1", "D:\2\2")")‘当路径不对时会把原文件夹剪切到“D:\2\”下面文件夹名称 更改为 2
Microsoft.VisualBasic.FileSystem.Rename("D:\1", "D:\2")’当路径相同时只改文件夹名称 不移动文件
希望能帮到你
vb.net用日期命名文件名
Dim My_path As String = "e:\" Now.ToString("yyyMMdd")
Dim My_file As String = My_path "\" Now.ToString("mm_ss") ".txt"
If System.IO.Directory.Exists(My_path) = False Then System.IO.Directory.CreateDirectory(My_path)
If System.IO.File.Exists(My_file) = False Then System.IO.File.CreateText(My_file)
文件名不支持“:”用“_”代替
当前名称:关于vb.netdll命名的信息
网站链接:http://lswzjz.com/article/dosopdi.html