這是根據”Dr. GUI and ATL” 的文章自己做的例子程序,主要是在原有接口上繼續新的接口,這樣在保留原接口的基礎上可以擴展新的功能.
功能介紹:
1.創建Calculate組件,添加IFun接口(注重:本例我們在Attributes中我們選擇Apartment,Custom,Yes).在IFun接口中添加函數Add實現兩數相加的功能(參數為[in] long n1, [in] long n2, [out, retval] long *pVal).代碼如下:
STDMETHODIMP CCalCulate::Add(long n1, long n2, long *pVal)
{
// TODO: Add your implementation code here
*pVal = n1 + n2;
return S_OK;
}
2.添加IFun2接口,繼續IFun接口.步驟如下:
(1)修改.idl文件:
在
interface IFun : IUnknown
{
[helpstring("method Add")] HRESULT Add([in] long n1, [in] long n2, [out, retval] long *pVal);