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