【发布时间】:2015-07-13 16:31:36
【问题描述】:
我正在尝试在链接http://www.codeproject.com/Articles/505791/Writing-Simple-COM-ATL-DLL-for-VS 之后编写一个简单的 COM/ATL DLL,但它没有提到如何向 ATL 对象添加 静态方法。
我可以向 ATL 对象添加静态方法吗?
谢谢和最好的问候!
【问题讨论】:
-
ATL C++ 类的静态方法 - 就像任何其他 C++ 类一样。 COM 类或 COM 接口的静态方法 - 没有静态方法。
-
静态 C++ 方法无法通过接口公开,因此无法从客户端代码中使用。 C++ 中的接口方法需要使用 virtual 关键字来模拟,这与静态方法相反。您可以向 ATL 类添加静态方法,只需使用文本编辑器即可。请注意,您可以在 IDL 中使用 [appobject] 属性,一些运行时环境(如 VB6 和 VBA)支持这一点。
-
@HansPassant - 感谢您的解释。我明白了。
-
@RomanR。 - 谢谢。
标签: visual-c++ com static-methods atl dllexport