社区
VB
帖子详情
在VB.net中如何动态调用DLL,也就是COM接口问题
ldy_216
2017-09-07 11:22:38
我有个软件自己搞了个解释器
但是希望用户能够调用自己的DLL
比如用户调用
F("e:\abc.dll", x,y)
意思是在那个库中有个名为F的函数,有2个参数X,Y,如何调用?
...全文
1134
4
打赏
收藏
在VB.net中如何动态调用DLL,也就是COM接口问题
我有个软件自己搞了个解释器 但是希望用户能够调用自己的DLL 比如用户调用 F("e:\abc.dll", x,y) 意思是在那个库中有个名为F的函数,有2个参数X,Y,如何调用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
SeeSunSet
2018-03-27
打赏
举报
回复
“反射”其实就是利用程序集的元数据信息。 反射可以有很多方法,编写程序时请先导入 System.Reflection 命名空间。 1、假设你要反射一个 DLL 中的类,并且没有引用它(即未知的类型): Assembly assembly = Assembly.LoadFile("程序集路径,不能是相对路径"); // 加载程序集(EXE 或 DLL) object obj = assembly.CreateInstance("类的完全限定名(即包括命名空间)"); // 创建类的实例 2、若要反射当前项目中的类(即当前项目已经引用它了)可以为: Assembly assembly = Assembly.GetExecutingAssembly(); // 获取当前程序集 object obj = assembly.CreateInstance("类的完全限定名(即包括命名空间)"); // 创建类的实例,返回为 object 类型,需要强制类型转换 3、也可以为: Type type = Type.GetType("类的完全限定名"); object obj = type.Assembly.CreateInstance(type); ======================================================= 补充: 1)反射创建某个类的实例时,必须保证使用类的完全限定名(命名空间 + 类名)。Type.GetType 方法返回 null 则意味搜索元数据中的相关信息失败(反射失败),请确保反射时使用类的完全限定名。 2)反射功能十分强大,没有什么不能实现的。若实现“跨程序集”,请使用第一种方法创建类的实例,并反射该实例的字段、属性、方法、事件... 然后动态调用之。
weixin_41851494
2018-03-19
打赏
举报
回复
项目→添加引用→浏览,选择你要添加的dll文件。
AllCHN
2017-09-12
打赏
举报
回复
在工程属性里面引用 abc.dll,就会有一个相应的对象模型,创建一个示例实例,通过实例就可以调用函数了
vb.net
调用
DLL
vb.net
调用
DLL
描述如何用vb
调用
DLL
VS2010使用
VB.NET
调用
C++的
DLL
例子
VS2010使用
VB.NET
调用
C++的
DLL
例子, 内含一个C++范例程序和一个
VB.NET
调用
范例。
用
VB.NET
开发交互式CAD系统
用
VB.NET
开发交互式CAD系统,包括结合GDI+和OPENGL两种方案。 联系平台客服可开发票。
vb.net
调用
vb.net
写的
dll
示例
一个简单的
vb.net
调用
vb.net
写的
dll
示例,此
dll
还包含3个控件(可调时钟、LED字幕、密码框)
vb.net
调用
DLL
示例
vb.net
调用
一个多功能的
DLL
示例
VB
16,555
社区成员
110,528
社区内容
发帖
与我相关
我的任务
VB
VB技术相关讨论,主要为经典vb,即VB6.0
复制链接
扫一扫
分享
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章