【问题标题】:How to create COM object如何创建 COM 对象
【发布时间】:2018-03-13 07:46:04
【问题描述】:

如何使用 golang 创建对象?我使用 go-ole,它报告了一个类未注册错误,尽管我已经通过 regsvr32 dm.dll 注册了这个 dll。

谁能告诉我正确的代码。

ole.CoInitialize(0)

unknown, err := oleutil.CreateObject("dm.dmsoft")

if err != nil {
    log.Fatal(err)
}
dm := unknown.MustQueryInterface(ole.IID_IDispatch)

【问题讨论】:

  • 类未注册通常是 32 位与 64 位的问题

标签: go dll com


【解决方案1】:

当您获得类未注册时,这意味着 COM dll 或 exe 尚未注册,因此当您尝试实例化 COM 对象时,操作系统不知道在哪里可以找到 .DLL/Exe。

在 DLL 使用 regsvr32 (C:\>regsvr32 {full path}dm.dll) 注册的情况下,可执行文件通常使用命令行参数 /RegServer 进行注册

【讨论】:

    猜你喜欢
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    • 2011-09-10
    • 2013-07-19
    • 2018-10-23
    • 1970-01-01
    相关资源
    最近更新 更多