收录日期:2019/01/20 03:04:43 时间:2016/05/20 18:27:09 标签:ATL/ActiveX/COM
潘爱民老师的<com原理与应用>的第五章例子,就是没有类型库。我想如果再vc下测试,肯定没有问题的。我希望再vb下测试,但vb需要类型库。

// 接口ID
// {B15C0B13-6EA7-4edb-BE15-B4082542F9EA}
extern "C" const IID IID_ITestComWithMFC = 
{ 0xb15c0b13, 0x6ea7, 0x4edb, 
{ 0xbe, 0x15, 0xb4, 0x8, 0x25, 0x42, 0xf9, 0xea } };

IMPLEMENT_OLECREATE(CTestComWithMFC, "HeHe.TestComWithMFC", 
0xa85270af, 0x79ee, 0x42bd,  0xa2, 0xfe, 0x18, 0x31, 0xfe, 0x0, 0x66, 0xea)
那位能告诉我IMPLEMENT_OLECREATE宏指定的是什么guid吗 ? 类厂的,还是组件clsid
我试着这样写
[
object,
uuid(B15C0B13-6EA7-4edb-BE15-B4082542F9EA)
]
interface ITestComWithMFC : IUnknown
{
HRESULT Test();
};


// This file will be processed by the MIDL compiler to produce the
// type library (HeHe.tlb).

[ uuid(ED365958-619E-440A-B469-8167ABEB8404), version(1.0) ]
library HeHe
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");

[ uuid(a85270af-79ee-42bd-a2fe-1831fe0066ea) ]
coclass TestComWithMFC
{
[default] interface ITestComWithMFC ;
};


//{{AFX_APPEND_ODL}}
//}}AFX_APPEND_ODL}}
};

假定IMPLEMENT_OLECREATE宏指定的是组件clsid,但是运行通不过
up~~
问题已经解决。原来例子只是vtable接口,不支持分发接口。
只要如下调用就可以:
Dim h As HeHe.TestCom
set h = new HeHe.TestCom

h.Test

如何实现这样的排序功能? struts中使用radio标签遇到的问题,求助!!! 系统日志经常提示相关IIS的已满,怎么解决 名词解释:什么叫《Visual Studio .Net 简体中文企业结构设计版》 一个简单的问题 问两个窗体的简单问题 ASP怎样从菜鸟学起? 请教编译问题 请问CUnit在windows和unix下的环境是如何搭建并运行的?----------急--- 【斑竹】请进,我的问题未得到有效解决,请返回我的可用分!!!!!!!!! 急啊~!在线求解决方法,水晶报表问题. 用oracle9i管理服务器数据导入的问题? access和 Sql server在同一部机上可以同时使用吗? 撤销以下小版主职务 关机后光电鼠标还亮着是什么原因?(非常感谢) 请教IIS下Session报错问题! 求救:如何通过互联系网实现异地数据库之间的传递??(100分求救) 请教一个简单的问题! 救命啊:请问如何在水晶报表中通过程序设置打印的纸张的大小? NetTalk视频聊天源码共享[VC++] 求助!!关于执行查询数据库效率的问题 DB2中grouping set 的使用,请各位多帮忙 不知这样的功能如何实现?将两张表的数据横向合为一张表。请大家指教了,表示感谢! 这样的硬件条件够不够用,大侠? 随机数是怎么实现的?? 我迷茫了!希望大家给我出出注意! java.lang.NoClassDefFoundError 如何在Select标签的设置为:multiple 时,提交到后台后,获取其的值? 请问在JSP页面打开时立即刷新一次,如何实现?(只刷新一次,不重复刷新) 需要一个ASP程序员,地点:北京丰台