0
我想寫一個簡單的COM/ATL DLL鏈接http://www.codeproject.com/Articles/505791/Writing-Simple-COM-ATL-DLL-for-VS,但它沒有提到如何將一個靜態方法添加到ATL對象。如何將一個靜態方法添加到ATL對象中?
我可以添加一個靜態方法到ATL對象嗎?
謝謝,最好的問候!
我想寫一個簡單的COM/ATL DLL鏈接http://www.codeproject.com/Articles/505791/Writing-Simple-COM-ATL-DLL-for-VS,但它沒有提到如何將一個靜態方法添加到ATL對象。如何將一個靜態方法添加到ATL對象中?
我可以添加一個靜態方法到ATL對象嗎?
謝謝,最好的問候!
當您在ATL類上使用類嚮導時,您只能選擇將方法添加到COM接口。當你想添加一些不在COM接口中的東西時,你必須手動修改類。
所以,你只需要在頭文件中添加靜態方法和文本編輯器,當然你必須在.cpp文件中添加實現。
謝謝你的回答! –
ATL C++類的靜態方法 - 就像任何其他C++類一樣。靜態方法到COM類或COM接口 - 那些沒有靜態方法。 –
靜態C++方法不能通過接口公開,所以在客戶端代碼中不可用。 C++中的接口方法需要用* virtual *關鍵字來模擬,這與靜態方法相反。您可以將靜態方法添加到ATL類,只需使用文本編輯器即可。請注意,您可以在IDL中使用[appobject]屬性,某些運行時環境(如VB6和VBA)支持此屬性。 –
@HansPassant - 感謝您的解釋。我知道了。 –