怎样用VC测试ATL?

hero_li 2002-10-20 06:36:59
我用VC的ATL Com Appwizard写了一个程序,生成编译注册都没问题。
现在我想用VC另写一个程序,对上一个程序做功能测试。
该怎么办呢?我已经用ClassWizard 从Dll中引入了接口类。怎样才能测试接口类中的函数呢??
菜鸟问题,请大侠指点!!最好能给一段源代码!
...全文
79 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
oulix 2002-10-23
如果你的组件支持IDispatch接口,还可以用vbscript代码来测试,
CreateObject()一下然后执行方法
回复
kenwhale 2002-10-23
用控件写个客户端就可以了,或者用activex control container。
回复
zhangjl716 2002-10-22
回复
himming 2002-10-21
Tools->ActiveX control Text Container工具可以测试你的dll,具体察看关于vc6开发环境说明的书
回复
springday 2002-10-21
假设你的DLL工程为Simple_ATL。下面是用VC测试这个服务器的步骤。
// 将头文件的目录指到Simple_ATL工程所在的目录

#include "..\Simple_ATL\Simple_ATL.h"
#include
// 从Simple_ATL 工程所在目录的Simple_ATL_i.c 文件中拷贝以下内容
// 注意: 你也可以不拷贝这些东西,而是把文件Simple_ATL_i.c包含进来。
const IID IID_IFirst_ATL =
{0xC8F6E230,0x2672,0x11D3,{0xA8,0xA8,0x00,0x10,0x5A,0xA9,0x43,0xDF}};

const CLSID CLSID_First_ATL =
{0x970599E0,0x2673,0x11D3,{0xA8,0xA8,0x00,0x10,0x5A,0xA9,0x43,0xDF}};

void main(void)
{
// 声明HRESULT和Simple_ATL接口指针
HRESULT hr;
IFirst_ATL *IFirstATL = NULL;

// 初始化COM
hr = CoInitialize(0);

// 使用SUCCEEDED 宏并检查我们是否能得到一个接口指针
if(SUCCEEDED(hr))
{
hr = CoCreateInstance( CLSID_First_ATL, NULL, CLSCTX_INPROC_SERVER,
IID_IFirst_ATL, (void**) &IFirstATL);

// 如果成功,则调用AddNumbers方法,否则显示相应的出错信息
if(SUCCEEDED(hr))
{
long ReturnValue;

IFirstATL->AddNumbers(5, 7, &ReturnValue);
cout << "The answer for 5 + 7 is: " << ReturnValue << endl;
IFirstATL->Release();
}
else
{
cout << "CoCreateInstance Failed." << endl;
}
}
// 释放COM
CoUninitialize();
}

第七步:编译并运行测试程序
按下“F5”功能键,编译测试程序,然后按“Control+F5”功能组合键运行测试程序。在DOS窗口中,你应该能看到输出的结果。
回复
发帖
ATL
创建于2007-09-28

3214

社区成员

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
申请成为版主
帖子事件
创建了帖子
2002-10-20 06:36
社区公告
暂无公告