最简单的 COM ,有些疑问,不知道如何测试

PatrickGamp 2002-12-06 04:10:25
我用 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
...全文
22 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
librastar2001 2002-12-06
  • 打赏
  • 举报
回复
用vb测试

在工程中引用你的com

然后调用你的方法就可以了

很简单的
PatrickGamp 2002-12-06
  • 打赏
  • 举报
回复
我在一个 COM 里就定义一个函数 GetHelloGreeting ,返回 L"Hello world!",可我不知道如何生成另外一个工程来测试这个 COM ,谁能帮我?

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧