什么是“自动化兼容语言”?

时间:2011-01-28 20:37:16

标签: com programming-languages automation

我在网上发现了很多关于这个术语的引用,特别是在微软的MSDN网站上,甚至是这些语言的列表。但是,我找不到这个术语的定义。 (它是否像实现COM接口的语言一样简单?)

如果您知道定义的链接,请与我们联系。

感谢。

2 个答案:

答案 0 :(得分:5)

剥离到必需品,了解COM你必须了解GUID和IUnknown。 Automation的等价物是ProgIDs和IDispatch。

ProgID可帮助您创建COM coclass。典型的ProgID是“Word.Automation”,即Microsoft Word的progid。您将在HKEY_CLASSES_ROOT下的注册表中找到它们。您的语言中辅助函数的典型名称是CreateObject()。您传递ProgID,可选的机器名称,然后返回接口引用。然后,您可以使用它来进行方法调用和获取/设置属性。

语言运行库使用IDispatch接口(使用IUnknown :: QueryInterface检索)来发现COM服务器实现的方法的名称和参数。这称为后期绑定,就像任何脚本语言使用Automation一样。它只有4种方法:

  • IDispatch :: GetTypeInfoCount(),如果服务器可以提供类型信息,则返回1
  • IDispatch :: GetTypeInfo(),返回类型信息,有助于进行类型安全的调用
  • IDispatch :: GetIDsOfNames(),将标识符名称映射到数字
  • IDispatch :: Invoke(),调用编号方法或属性getter / setter。

这就是全部。

答案 1 :(得分:1)

  

在Microsoft Windows应用程序中   编程,OLE自动化(稍后   由微软重命名为   自动化,1 [2]虽然旧   术语仍然广泛使用),是   进程间通信   基于组件对象的机制   打算使用的型号(COM)   脚本语言 - 最初   Visual Basic - 但现在使用   语言在Windows上运行。[3]它   提供了一个基础设施   应用称为自动化   控制器可以访问和操作   (即设置属性或调用   方法)共享自动化对象   由其他人出口   应用

From Wikipedia entry