2015-05-04 89 views
0

我想写一个简单的COM/ATL DLL链接http://www.codeproject.com/Articles/505791/Writing-Simple-COM-ATL-DLL-for-VS,但它没有提到如何将一个静态方法添加到ATL对象。如何将一个静态方法添加到ATL对象中?

我可以添加一个静态方法到ATL对象吗?

谢谢,最好的问候!

+0

ATL C++类的静态方法 - 就像任何其他C++类一样。静态方法到COM类或COM接口 - 那些没有静态方法。 –

+0

静态C++方法不能通过接口公开,所以在客户端代码中不可用。 C++中的接口方法需要用* virtual *关键字来模拟,这与静态方法相反。您可以将静态方法添加到ATL类,只需使用文本编辑器即可。请注意,您可以在IDL中使用[appobject]属性,某些运行时环境(如VB6和VBA)支持此属性。 –

+0

@HansPassant - 感谢您的解释。我知道了。 –

回答

0

当您在ATL类上使用类向导时,您只能选择将方法添加到COM接口。当你想添加一些不在COM接口中的东西时,你必须手动修改类。

所以,你只需要在头文件中添加静态方法和文本编辑器,当然你必须在.cpp文件中添加实现。

+0

谢谢你的回答! –

相关问题