我在本地化我的 COM 类时遇到了麻烦。我不知道如何以IErrorInfo
标准方式本地化和其他文本。我已经搜索过但一无所获。我的 COM 类是IUnknown
接口,而不是双接口。
感谢提前。
我在本地化我的 COM 类时遇到了麻烦。我不知道如何以IErrorInfo
标准方式本地化和其他文本。我已经搜索过但一无所获。我的 COM 类是IUnknown
接口,而不是双接口。
感谢提前。
没有“COM 标准”机制来为 COM 对象提供本地化语言环境。
COM 可以说是太“低级”了。自动化概念上位于 COM 之上的一层,因此IDispatch
'sInvoke
确实提供了一个 LCID 参数;但即使使用[dual]
接口,IDispatch
( CreateStdDispatch
et al ) 的标准实现也不会将 LCID 传递给被调用的方法。
(但是,如果方法具有[lcid]
标记参数,标准实现会提供 LCID 吗?我不知道第一手资料,但这里暗示了)。
您需要提供自己的机制。我不知道什么是最适合您的对象的机制。一些想法:
SetLanguage()
方法来设置存储在实例中的对象范围的语言,并控制您的消息使用的语言。