VB.NET动态加载C#或VB.NET生成的DLL文件调用动画教程[黑白智慧写](动态调用DLL).txt
来源:互联网 发布:网络传播的社会化 编辑:程序博客网 时间:2024/04/29 03:19
_________________下载原码:____________________________
-注意:全包括二部分,一定要下载完后,直接解压,
在解前不要修改压缩文件名,否不能正常解压!
ReadDLL-VB.NET.part2.rar 1.3MB
ReadDLL-VB.NET.part1.rar 1.9MB
下载地址:http://kevery.ys168.com
打开地址后,去到目录表,选择“kevery kevery"目录,再选择“源码”,点击即可下载。
********************************************************
本动画最佳显示效果分辨率:1280*1024像素
*******************************************************
关键代码:
1:所须命名空间:Imports System.Reflection
2:本例加载DLL文件对像:Dim TAA As System.Reflection.Assembly
3:用于选择DLL文件代码
OOF.InitialDirectory = Application.StartupPath
OOF.Filter = "DLL文件(*.dll)|*.dll|所有文件(*.*)|*.*"
OOF.ShowDialog()
Dim filename As String
If OOF.FileName.Trim() = "" Then
Return
End If
filename = OOF.FileName.Trim()
TextBox1.Text = filename
4:操作动态载放DLL文件
TAA = System.Reflection.Assembly.LoadFrom(TextBox1.Text)
Dim t As Type = TAA.GetType("MDIC.MDICT") '''MDIC.MDICT为,组件命名空间MDIC;而MDICT为入口类
Dim obj As Object = t.InvokeMember(Nothing, BindingFlags.DeclaredOnly Or _
BindingFlags.Public Or BindingFlags.NonPublic Or BindingFlags.Instance Or _
BindingFlags.CreateInstance, Nothing, Nothing, Nothing)
Dim TControl As Object
'''GetMDICPan为MDICT类中的一个方法,返回值为组件
TControl = t.InvokeMember("GetMDICPan", BindingFlags.DeclaredOnly Or BindingFlags.Public Or BindingFlags.NonPublic Or BindingFlags.Instance Or _
BindingFlags.InvokeMethod, Nothing, obj, Nothing)
Panel1.Controls.Add(TControl)''''将DLL中的控件添加到面板Panel1中.
具体操作如下:
1.建立组件工程(命名空间为MDIC),该工程主要为面板控件.并在工程中建立入口类MDICT,且在类中建立一个方法GetMDICPan(),并返回组件.
MDIC.DLL
编译并生成DLL-------------------------------------------结果:MDIC.DLL成功
---------------------- 完成 ---------------------
全部重新生成: 1 已成功, 0 已失败, 0 已跳过
2.建立读DLL工程:ABC
ABC.exe
编译并生成EXE--------------------------------------------结果:ABC.exe
---------------------- 完成 ---------------------
全部重新生成: 1 已成功, 0 已失败, 0 已跳过
3.其它操作,请看动画..............
4.测试---------------------------------------------------结果:成功
..................................................................................事例完成!
附加:
好处是除了是可以动态添加DLL外,它还可以像引用一样,可以任意调用方法或属性,还可以定义一个对像.可以说相当于引用,区别只在于它是动态加载的.............................
- VB.NET动态加载C#或VB.NET生成的DLL文件调用动画教程[黑白智慧写](动态调用DLL).txt
- VB.NET动态加载C#或VB.NET生成的DLL文件调用动画教程[黑白智慧写](动态调用DLL).txt
- vb.net 调用动态库dll
- VB.NET写的DLL调用问题
- 在VC.NET中调用VB.NET或C#生成的DLL类库
- [VB.NET]vb.net 调用c写的dll问题
- vb.net静态动态调用c++dll的方法
- [VB.NET]请教:vb.net调用vc写的dll出错:报尝试读取或写入受保护的内存
- vb调用C#写的dll
- vb调用C#写的dll
- vb调用C#写的dll
- vb.net调用外部DLL
- vb.net 下调用生成dll的SqlHelper
- C#动态调用标准DLL和vb(非标准)DLL
- ASP、VB调用.NET编写的DLL
- [VB.NET]vs2003调用vs2005的DLL
- ASP、VB调用.NET编写的DLL
- [VB.NET]vb.net 调用vb6.0写的ActiveX dll的问题,各位帮忙啊!
- 汇编EXTERN用法
- HDU3342--Legal or Not(强连通)
- URLLoader
- php 获取当前时间的毫秒数
- 中国将打造世界第一执法船队
- VB.NET动态加载C#或VB.NET生成的DLL文件调用动画教程[黑白智慧写](动态调用DLL).txt
- nyoj-283-对称排序
- C语言实验题——自守数
- VC/C/C++ 代码17
- POJ 2391 floyd+二分最大流
- VC/C/C++ 代码18
- VC/C/C++ 代码19
- 不要告诉我你懂margin
- VC/C/C++ 代码20