首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++调用C#封装的dll,调用路径的有关问题

2013-12-13 
C++调用C#封装的dll,调用路径的问题#using Release\TDJDeviceDriverForVC.dllusing namespace TDJDevice

C++调用C#封装的dll,调用路径的问题
#using "Release\TDJDeviceDriverForVC.dll"
using namespace TDJDeviceDriverForVC;

IDCardFunctions ^idCardReader = gcnew IDCardFunctions();
//SetCurrentDirectory(_T("D:\\Driver"));
int iStatus = idCardReader->PrepareReadIDC(port);
使用这种方法调用C#的dll没有问题,但是,如何能够使用这种方法调用指定目录的C#dll比如把C#封装的dll放到"D:\\Driver"下,如何使用这种方法调用。


问题二:a.dll是C++封装,b.dll是C#封装,a.dll内部使用上面的方法调用了b.dll,先有一个应用程序调用了a.dll,如果将a.dll和b.dll都放到应用程序目录下,调用没有问题;如果将a.dll放到应用程序目录下的driver目录下调用时,b.dll必须放在应用程序目录下,而不能放在driver目录下,这个问题如何解决。
[解决办法]
问题1 把可以的c#dll换一个目录确认下是否可以成功调用,如果可以说明其他的dll也可以,
      如果不可以的话,可能源码中路径处理了!
问题2 这个可能是源码里路径指定了吧!链接dll的时候路径修改能否成功调用呢?
[解决办法]
不要做A语言代码修改为B语言代码的无用功。
也不要做用A语言代码直接调用B语言代码库这样复杂、这样容易出错的傻事。
只需让A、B语言代码的输入输出重定向到文本文件,或修改A、B语言代码让其通过文本文件输入输出。
即可很方便地让A、B两种语言之间协调工作。

热点排行