【问题标题】:COM object as service or simple executableCOM 对象作为服务或简单的可执行文件
【发布时间】:2017-06-15 17:09:46
【问题描述】:

我需要创建一般将由 Navision 使用的 COM 对象。我不想制作 dll,因为我希望获得更好的稳定性,并且遵循的架构对我来说看起来不错。

首先我对选择executable/service_executable感到困惑:

什么时候使用一个更好,什么时候另一个更好?

然后我需要添加 ATL 对象。在服务案例中,我有:

Custom Interface 是什么? Navision 可以吗?通常我选择Dual。我想我需要检查"Automation compatible"

选择简单的可执行文件时我有以下菜单:

【问题讨论】:

  • “自定义接口”这里的意思是“不是从IDispatch派生的”。 “自动化兼容”意味着“方法参数仍然限于对基于IDispatch 的接口有效的类型”:一些(但不是全部)自动化客户端仍然可以使用这些接口。 Navision需要什么样的界面,我不知道。

标签: visual-studio-2010 visual-c++ com navision


【解决方案1】:
  • 可执行文件(EXE):您需要打开一个 Windows 会话才能启动它
  • Service(EXE):服务在主机启动时启动(无需打开 Windows 会话)
  • :继承自IDispath接口(可以后期绑定调用COM实例)+vtbl绑定。这就是为什么它被称为 Dual。
  • 自定义:使用vtbl绑定的用户定义接口。(要调用,必须向客户端提供代理/存根)
  • 自动化接口:继承自IDispath接口(可以通过后期绑定(动态调用)调用COM实例)

【讨论】:

    猜你喜欢
    • 2019-07-26
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    • 2017-05-12
    • 2011-01-29
    相关资源
    最近更新 更多