为什么我找不到入口点?

时间:2013-09-26 09:36:23

标签: c# delphi dll interop activex

我有一个第三方dll库,我必须使用它。 以下非常简单的delphi代码完成了这项工作:

var
 CCPActiveX:variant;
begin
 CCPActiveX:=CreateOleObject('CCP.CCPActiveX');
 CCPActiveX.CCP_Init('arg1','arg2');
 //...
 CCPActiveX:=unassigned;
end;

但是我喜欢在C#上做同样的工作。我试图导入这样的dll方法:

class CCP
{
    [DllImport("CCP.dll")]
    private static extern int CCP_Init(string arg1, string arg2);

    public static int Init(string arg1, string arg2)
    {
        return CCP_Init(arg1, arg2);
    }
}

但是它导致无法找到DLL入口点异常。

我还尝试以不同方式指定入口点,例如:

  1. [DllImport("CCP.dll", EntryPoint = "CCP.CCPActiveX.CCP_Init")]
  2. [DllImport("CCP.dll", EntryPoint = "CCPActiveX.CCP_Init")]
  3. 等等。但没有改变。

    我在Windows xp x86上测试了delphi代码。和C#代码 - 在Windows 7 x64上。在这两个操作系统上,dll已成功注册regsvr32.exe。我做错了什么?

0 个答案:

没有答案