收录日期:2018/10/22 22:41:26 时间: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

struts2的action有点长,有什么办法只使用类名否? 一个简单的数据库查询问题。 苹果干不过微软 回贴看不到别人的贴,刷新后能看到别人,却不看到自己,还有老是404 关于CList 链表的复制 CMake生成库问题 我用header怎么进行跳转啊 交叉报表 动态给文本框赋值:报应用程序错误 怎么用 怎么用 云计算 PaaS 平台,你知道哪些? DSS 流媒体服务器搭建 接收RTSP推送过来的视频流并发布 请高手来看看,关于单机双卡,ADSL拨号和局域网打印机问题 关于EXTJS饼图的一个问题 计算datatable和值 安卓4.0.3 连接wifi不能上网 Uncompressing Linux... done, booting the kernel.卡住 c# 调用带有函数指针参数的c++ Dll导出函数 C语言 字符串统计 SQL SERVER生成字符串 将HMTL的DIV 导出EXCLE access2013不支持adp了是吗 将文件路径中的“\\\\”或者“/”等不规范的格式规范化。 vb中怎样使文本框中无法使用空格键 如何实现类似淘宝自定义商品介绍的功能 这个乱码怎么解析成正常的汉字? java 读取大量文件 关于游戏实现第三人称视角的问题? 女孩的心思是个什么样子的呢 同一段SQL,where后字段赋值不一样,查询耗时有很大差别,为什么?