DllImport调用C#写的com组件dll问题

xp_syy 2016-06-03 05:18:33
代码:

 [Guid("8640822D-ABC1-4709-A099-7FEE2F3F822D"), InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface MyCom_Events
{
}

[Guid("8041CD87-F2FD-4F89-9051-5191662ECCB6"), ClassInterface(ClassInterfaceType.None), ComSourceInterfaces(typeof(MyCom_Events))]
public class Class1 : MyCom_Interface
{
public int Add(int a, int b)
{
return a + b;
}
}


引入:
[DllImport("MyInterop.dll")]
public static extern string ShowDialog();

错误:
其他信息: 无法在 DLL“MyInterop.dll”中找到名为“ShowDialog”的入口点。
...全文
454 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zs398356140 2017-10-25
  • 打赏
  • 举报
回复
[ComImport, Guid("c58c0bbb-c055-45fe-9c10-0f9731f8fe19")] COM组件有自己的载入方式
xp_syy 2016-06-03
  • 打赏
  • 举报
回复
引用
Dllimport 引用的是 DLL。是本地的动态链接库。是基于LoadLibrary,GetProcAddress 和 FreeLibrary。 C#的叫程序集。有专门的方式。Assembly。 组件也有专门的方式,基于注册和类工厂机制。 COM 组件在 C# 里面要到使用接口可见的属性。 这样注册之后就可以使用 CoCreateInstace 创建接口实例了。
大神说清楚点呗,我这样干错了吗,php测试调用dll能成功,除了com组件还有别的方式实现dll别的语言调用吗?
Saleayas 2016-06-03
  • 打赏
  • 举报
回复
Dllimport 引用的是 DLL。是本地的动态链接库。是基于LoadLibrary,GetProcAddress 和 FreeLibrary。 C#的叫程序集。有专门的方式。Assembly。 组件也有专门的方式,基于注册和类工厂机制。 COM 组件在 C# 里面要到使用接口可见的属性。 这样注册之后就可以使用 CoCreateInstace 创建接口实例了。
xp_syy 2016-06-03
  • 打赏
  • 举报
回复
来。。。。人。。。。。。
xp_syy 2016-06-03
  • 打赏
  • 举报
回复
引用
你确定这样调用可以?。。。 C#写的dll 又不是标准的win32 dll 确定可以用 dllimport? 反正我是不知道
C#写的com组件,打算让C++,pb、或者delhpi 别的语言调用的,我自己先测试下能否使用啊
crystal_lz 2016-06-03
  • 打赏
  • 举报
回复
你确定这样调用可以?。。。 C#写的dll 又不是标准的win32 dll 确定可以用 dllimport? 反正我是不知道
xp_syy 2016-06-03
  • 打赏
  • 举报
回复
引用
2#
还没有人吗。。。。。。
xp_syy 2016-06-03
  • 打赏
  • 举报
回复
[Guid("C0DF7BB2-6457-4125-B428-D6C66D666F1D")]
    public interface IMyInterop
    {
        string ShowDialog();
    }

    [ClassInterface(ClassInterfaceType.None)]
    [Guid("726FFB33-791C-419B-A506-1195E5429BAE")]
    public class MyInterop : IMyInterop
    {
        public string ShowDialog()
        {
            return "ok";
        }
    }
黏贴错了,入魔了。。
  • 打赏
  • 举报
回复
你上面的代码里面没有ShowDialog这个函数啊
xp_syy 2016-06-03
  • 打赏
  • 举报
回复
自己顶下,别沉

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧