|
我用C#写了一个com接口的dl,用VC里导入,编译成C接口的dll,再load到LR里,问题是这样的,我在本机上用LR调用没问题,(整个开发过程都是在我机器上做的)但我把这个dll在其他机器的LR里调用就会出现Runtime Error,
C#的代码如下:
using System;
using System.Runtime.InteropServices;
using System.Net;
using System.IO;
using System.Text;
namespace ClassLibrary1
{
//COM interface
[Guid("7FEA291E-C7F3-40ef-BEEB-6E9D8291A8DC")]
public interface Test
{
int MyAdd(int a, int b);
}
/// <summary>
/// Class1 的摘要说明。
/// </summary>
///
//coclass
[Guid("6FAE8EEA-F005-45a2-8DC6-BAB6B9645DE1"), ClassInterface(ClassInterfaceType.None)]
public class Class1 : Test
{
public Class1()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public int MyAdd(int a, int b)
{
return a + b;
}
}
}
C++代码如下:
#import "..\ClassLibrary1\bin\Debug\ClassLibrary1.tlb" no_namespace named_guids
extern "C" _declspec(dllexport) int add(int a,int b)
{
CoInitialize(NULL);
TestPtr pMyObj(CLSID_Class1);
int result = pMyObj->MyAdd(a, b);
CoUninitialize();
return result ;
}
我把ClassLibrary1.tlb放到要调用的那台机器上也不行,麻烦大家帮忙看一下,谢谢 |
|