最简单的 COM ,有些疑问,不知道如何测试
我用 VC6 的 New Project->ATL COM AppWozard 生成一个简单的
工程,加入一个接口 IHello,在 IDL 文件中有如下定义:
#define MAX_HELLO_LEN 255
typedef [string] WCHAR HELLO_BSTR[MAX_HELLO_LEN];
[
object,
uuid(5B5DBA30-B6F3-45C3-ACCE-E96A2EAAA778),
helpstring("IHello Interface"),
pointer_default(unique)
]
interface IHello : IUnknown
{
HRESULT GetHelloGreeting([out,string]HELLO_BSTR p);
};
该接口就定义了一个函数 GetHelloGreeting ,在实现类里这样实现的:
// IHello
public:
STDMETHOD(GetHelloGreeting)(HELLO_BSTR p)
{
if(p)
wcscpy(p,L"Hello World!");
return (HRESULT)NO_ERROR;
}
然后编译通过之后,我怎么测试这个 COM 呢?我生成另外一个测试用的 Project,
想用 Add class from a type library ,结果提示没有 IDispatch capable type