社区
C#
帖子详情
C#.NET怎样用代码实现加载DLL并且向DLL中传参数
bsxbsx
2011-01-30 11:11:52
我现在向用代码实现加载DLL,并向这个DLL中传参数,比如要传三个参数
请哪位高手指点迷津 谢谢!!!
...全文
168
5
打赏
收藏
C#.NET怎样用代码实现加载DLL并且向DLL中传参数
我现在向用代码实现加载DLL,并向这个DLL中传参数,比如要传三个参数 请哪位高手指点迷津 谢谢!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
冷小莫88
2013-01-10
打赏
举报
回复
System.Reflection.Assembly assembly = System.Reflection.Assembly.Load("cmsinterface.dll");
按照你这个加载DLL方法报错
冷小莫88
2013-01-10
打赏
举报
回复
楼主,我也碰到一个调用DLL的问题,C#里无法添加对VFP DLL的调用
billsquall
2011-01-30
打赏
举报
回复
DLL都是project生成的吧?你说的传参数,是说调用dll中的函数的时候传参数吧,就跟平常一样啊
QEVXWYQD
2011-01-30
打赏
举报
回复
举个例子:
MyDLL.dll中有个接口:
bool Function(int param);
则在C#中应该:
Using System.Runtime.InteropServices;
[DllImport("MyDLL.dll")]
[return: MarshalAs(UnmanagedType.I1)]
public static extern bool Function(int param);
还有很多需要注意的地方。可以互相交流,最近我也在做相关的东西。
bsxbsx
2011-01-30
打赏
举报
回复
我已经找到解决方案了
代码如下:也给几位参考一下 呵呵
object obj = null;
string className = "Lodic.Job.PrintDepotInOutHist";
System.Reflection.Assembly assembly = System.Reflection.Assembly.Load("PrintDepotInOutHist.dll");
obj = assembly.CreateInstance(className);
// 传递给DLL的参数strConnection, strSavePath, strJobId
System.Type type = obj.GetType();
System.Reflection.MethodInfo member = type.GetMethod("DoJob");
member.GetType();
// JobBean是自己的实体Bean
Job.JobBean jobBean = new JobBean(string strConnection,string strSavePath, string strJobId)
{
BizDBConnection = null,
LogDbConnection =null,
CustomerFilePath = null,
JobID = null,
JobStatus =null
};
member.Invoke(obj, new object [] { jobBean});
C#
.NET
_面向对象编程技术
通俗易懂的面向对象编程技术,详细讲解C#
.NET
编程原理,
.NET
框架,辅以编程实例,具体的项目案例。从基础知识到项目开发,由入门到精通。以形象的描术,把生涩的技术生动形象化,易理解,易掌握。
QT
中
调用
C#
封装的
DLL
如何传string类型的参
数
当然我们知道不能直接在Qt
中
调用
C#
封装的
dll
,我这边采用的
实现
方案是先用VS建好
C#
类库项目,再用VS创建CLR项目调用上一步生成的
DLL
,得到.lib和.
dll
供Qt项目调用。具体操作步骤参考的这篇博文: https://blog.csdn
.net
/u012902367/article/details/105128531在此也感谢该文博主。 函
数
库调用成功后,遇到一个问题是如何将
C#
函
数
中
的System::String类型的参
数
传出来,在Qt
中
得到QString类型的
数
据。 经过探索以及实验,.
C#
:调用
dll
时的char*参
数
与string参
数
//生成
dll
的C++函
数
//参
数
为char* float camDetect(char * imageData) //
C#
调用
dll
中
的该函
数
[
Dll
Import("CamDet.
dll
", CallingConvention = CallingConvention.Cdecl)] public extern static float camDetect(string imageData); //loadFile为string类型 float p = camDetect(loadF
C#
调用 C++
DLL
方法
感谢小白T哥 学习
dll
调用 记录 在
C#
中
,可以通过
Dll
Import 调用C++ 的非托管
DLL
程序。 VS2010
中
C#
调用C++的
DLL
示例: 一、新建C++
DLL
程序 1、新建 C++ Win32项目,类型为
DLL
。 生成的文件结构如图: 其
中
,“My
DLL
Fun.cpp”文件为此项目主要源文件。 2、在源文件
中
添加需要被外部调用的方法。 这里仅仅是添加两个示例方法: 方法“Add”返回两个整
数
的和;方法Pow计算X 的 Y 次方,并以指针的形式修改参
数
x 地址处的值。 修饰符 e
C#
与C++
dll
之间传递字符串string wchar_t* char* IntPtr
1、由
C#
向C++
dll
传入字符串时,参
数
直接用string,设置编码格式 CharSet.UnicodeCharSet.Ansi。 C++
dll
接收使用wchar_t* 或 char*。 2、由C++
dll
返回字符串,使用 wchar_t 或char*。
.net
4.0
C#
可以直接使用string接收,很方便。
.net
4.0+
C#
用IntPtr 接收,使用string接收调试不行。
dll
代码
如下: extern "C" _declspec(
dll
export)...
C#
110,499
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章