怎样用VC测试ATL?

hero_li 2002-10-20 06:36:59
我用VC的ATL Com Appwizard写了一个程序,生成编译注册都没问题。
现在我想用VC另写一个程序,对上一个程序做功能测试。
该怎么办呢?我已经用ClassWizard 从Dll中引入了接口类。怎样才能测试接口类中的函数呢??
菜鸟问题,请大侠指点!!最好能给一段源代码!
...全文
115 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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窗口中,你应该能看到输出的结果。

3,248

社区成员

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

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