VC技术内幕第5版第24章,组件对象模型的示例EX24B在Spaceship.h文件中的一段代码:
BEGIN_INTERFACE_PART(Visual,IVisual)
STDMETHOD_(void,Display)();
END_INTERFACE_PART(Visual)BEGIN_INTERFACE_PART(Motion, IMotion)
STDMETHOD_(void, Fly) ();
STDMETHOD_(int&, GetPosition) ();
END_INTERFACE_PART(Motion)编译的时候提示
error C2504: 'IVisual' : base class undefined
error C2504: 'IMotion' : base class undefined看书中的代码,那两个接口是在interface.h文件中定义的struct IVisual:public IUnknown
{
STDMETHOD_(void,Display)()=0;
};
struct IMotion : public IUnknown
{
STDMETHOD_(void, Fly) () = 0;
STDMETHOD_(int&, GetPosition) () = 0;
};而只在Spaceship.cpp文件中有过#include“interface.h”实在搞不懂那两个接口是在哪里定义的,请各位指点一下,多谢了!!
BEGIN_INTERFACE_PART(Visual,IVisual)
STDMETHOD_(void,Display)();
END_INTERFACE_PART(Visual)BEGIN_INTERFACE_PART(Motion, IMotion)
STDMETHOD_(void, Fly) ();
STDMETHOD_(int&, GetPosition) ();
END_INTERFACE_PART(Motion)编译的时候提示
error C2504: 'IVisual' : base class undefined
error C2504: 'IMotion' : base class undefined看书中的代码,那两个接口是在interface.h文件中定义的struct IVisual:public IUnknown
{
STDMETHOD_(void,Display)()=0;
};
struct IMotion : public IUnknown
{
STDMETHOD_(void, Fly) () = 0;
STDMETHOD_(int&, GetPosition) () = 0;
};而只在Spaceship.cpp文件中有过#include“interface.h”实在搞不懂那两个接口是在哪里定义的,请各位指点一下,多谢了!!
解决方案 »
- HMODULE和HINSTANCE有什么本质区别? 为什么要用两种句柄类型?
- button不可见时如何响应单击事件
- 大家都来看看chin_chen的真实面目!
- 共享内存实现进程通信,这样的进程同步怎么做?
- 一个有关ISampleGrabber接口调用的问题!Please HELP ME...
- 这样的数字定义是个什么意思?
- 为什么自定义消息在debug版好用,到了release版就不好用了呢?
- 如何计算可停靠工具栏的大小(动态/静止)????????
- 很菜很菜的问题
- 老问题了,关于com接口中用safe array传递一个二维数组!
- 100分求源码,如何将TextOut显示的字符,写入并保存到一个位图中!
- 问一个VC技术内幕上的例子问题
Windows NT/2000/XP: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in unknwn.h.你只需要
#include <afxole.h>
就可以了
在interface.h中#include <afxole.h>
!
#include <afxole.h> // MFC OLE classes
#include <afxodlgs.h> // MFC OLE dialog classes
#include <afxdisp.h> // MFC Automation classes
#endif // _AFX_NO_OLE_SUPPORT