如何本地化COM类?

时间:2013-06-03 08:57:32

标签: visual-c++ com

我在本地化我的COM类时遇到了麻烦。我不知道如何以标准方式本地化IErrorInfo和其他文本。我搜索但没有发现任何东西。我的COM类是IUnknown接口,而不是双接口。

感谢您提前。

1 个答案:

答案 0 :(得分:0)

没有“COM标准”机制为COM对象提供本地化语言环境。

对此,COM可能过于“低级别”。自动化概念上位于COM之上,因此IDispatch的{​​{1}}确实提供了LCID参数;但即使使用Invoke接口,[dual]IDispatch )的标准实现也不会将LCID传递给被调用的方法。

(但是,如果方法有一个CreateStdDispatch标记的参数,标准实现是否会提供LCID?我不知道第一手,但暗示here

您需要提供自己的机制。我不知道什么是最合适的对象机制。一些想法:

  • 您可以让所有方法都采用客户端必须填写的显式LCID参数。我会继续使用[lcid]标记参数,并遵循MSDN文档中的规则。
  • 您可以使用[lcid]方法设置实例中存储的对象范围语言,并控制消息使用的语言。
  • 您可以依赖默认的系统区域设置。