dll调用-关于C++ 调用C# dll 出现无法转换的数据类型。。

问题描述

关于C++ 调用C# dll 出现无法转换的数据类型。。

C# 这个函数是这样定义的:Collection EnumerateUsb();

现在VC中可以正常调用C#的dll,包括需要的Namespace等,

CollectionSystem::string str = ls->EnumerateUsb(UsbDeviceType::AnyMasterEmulator);

现在用在这个方法获取出现如下错误:请问这个应该如何修改??如何做到数据的转换。。

1> CTestDlgDlg.cpp
1>CTestDlgDlg.cpp(164): error C2039: “string”: 不是“System”的成员
1>CTestDlgDlg.cpp(164): error C2065: “string”: 未声明的标识符
1>CTestDlgDlg.cpp(164): error C2923: “System::Collections::ObjectModel::Collection”: 对于参数“T”,“string”不是有效的 泛型 类型变量
1>CTestDlgDlg.cpp(164): error C2955: “System::Collections::ObjectModel::Collection”: 使用 类 泛型 需要 泛型 参数列表
1> c:program filesreference assembliesmicrosoftframework.netframeworkv4.0mscorlib.dll : 参见“System::Collections::ObjectModel::Collection”的声明
1>CTestDlgDlg.cpp(164): error C2670: “System::Collections::ObjectModel::Collection::Collection”: 函数模板不能将参数 1 由类型“System::Collections::ObjectModel::Collection ^”转换

时间: 2024-10-18 13:16:31

dll调用-关于C++ 调用C# dll 出现无法转换的数据类型。。的相关文章

封装-js调用ocx dll库(存在依赖库dll)出现问题

问题描述 js调用ocx dll库(存在依赖库dll)出现问题 最近遇到一个问题,我使用vc6封装的 atl-- dll的ocx控件, 名字为 test.dll (内部就一个add接口), 通过js调用,可以调用成功, 然后我又封装了一个 ocx的dll,名字为a.dll, a依赖于b.dll(这个就是一个动态链接库), 注册a.dll之后,再用js调用,单步调试浏览器就会报错:"对象不支持此属性和方法",这个是什么原因导致的? 解决方案 最有可能的原因,控件没有部署好,或者安全性问题

C#调用c++的动态库dll演示例程

1.首先编写c++动态库 extern "C" __declspec(dllexport) int __stdcall add(int x, int y) { return x + y; } extern "C" __declspec(dllexport) extern "C"使得在C++中使用C编译方式成为可能.在"C++"下定义"C"函数,需要加extern "C"关键词.用exte

源代码的几个dll库出现循环调用时该如何编译?

问题描述 源代码的几个dll库出现循环调用时该如何编译? 是这样,我在网上下了一份c的源代码,比较老了,09年写的,是windows平台下的.代码里作者自己写了几个dll库,也提供了相应的cpp文件,但是都没编译好.之前在网上查说用到dll库时如果不用loadlibrary函数的话就要相应的Lib文件,作者也是这么干的.但是这几个库出现了循环调用的情况.只是库循环调用,不是函数循环调用.比如B库调用了A库的a函数,而A库又调用了B库的b函数,而a.b函数之间没有任何关系.这样一来我无论是A库还是

c# 4 0-C#调用VC++6.0的dll中问题

问题描述 C#调用VC++6.0的dll中问题 这是vc++中头文件#define GTDLL_API extern ""C"" __declspec(dllimport) short __stdcall我在C#中引用[DllImport(""GT400.dll"")] private extern static short GT_SetPos(int pos); 调用函数 private void SMotion() //S

vc++-如何VB6.0 调用 MATLAB r2010b 生成的DLL ?

问题描述 如何VB6.0 调用 MATLAB r2010b 生成的DLL ? 如何VB6.0 调用 MATLAB r2010b 生成的DLL ?我已经用VS 2010 的 VC++ 2010编译器 生成了MATLAB r2010b M文件的DLL了,MATLAB 里 的 M文件的内容是function c=Sum2(ab) c=a+b; end 而且在VB 引用中加入了这个DLL,名为Sum2VB代码里面是:Private a As DoublePrivate b As DoublePrivat

C#开发ActiveX求助...引用了一个第三方的dll,编译通过了。安装调用的时候调用不到这个dll

问题描述 C#开发ActiveX求助...引用了一个第三方的dll,编译通过了.安装包制作安装,通过ie调用的时候调用ActiveX没有引用到第三方dll的方法都可以正常使用,引用到第三方dll的方法调用都没反应,感觉是第三方dll没有加载到,但是我dll跟ActiveX放的同个目录,网上找了好多方法,试过把第三方dll复制到windows.system32.浏览器根目录下都没有用.请高手指点. 解决方案 解决方案二:注册全局的DLL写ActiveX的时候用动态引用之类的都可以解决....以前碰

jcom-利用Jcom在用java程序中调用windows Com组件,Jcom.dll是不是支持64位操作系统?

问题描述 利用Jcom在用java程序中调用windows Com组件,Jcom.dll是不是支持64位操作系统? 利用Jcom在用java程序中调用windows Com组件,Jcom.dll是不是支持64位操作系统?我发现在32位机器上是可以调用成功的,为什么切换到64为机器上就调用不成功,有谁了解这个Jcom的,谢谢给个解答.

用jnative调用关联授权文件的dll,加载授权文件失败!!

问题描述 用jnative调用关联授权文件的dll,加载授权文件失败是怎么一回事??授权文件是lic格式的,是不是路径的问题??用Eclipse开发的,是不是Eclipse不支持加载lic??代码如下:packagecom;importorg.xvolks.jnative.JNative;importorg.xvolks.jnative.Type;importorg.xvolks.jnative.exceptions.NativeException;importorg.xvolks.jnativ

dll窗体及数据调用-delphi DLL数据及窗体调用

问题描述 delphi DLL数据及窗体调用 DLL工程文件代码: library DLLUSERS; uses Windows, ADODB, Dialogs, Forms, SysUtils, Classes, U_DataModule in 'U_DataModule.pas' {DataModule1: TDataModule}, U_Users in 'U_Users.pas' {Frm_Users}, U_Initialize in 'U_Initialize.pas'; {$R *