佚名通过本文主要向大家介绍了
自己用ATL创建的COM组件使用的时候为什么报未声明的标识符错误,急在线等!!!等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 自己用ATL创建的COM组件使用的时候为什么报未声明的标识符错误,急在线等!!!
描述:
描述:
用VS2005的ATL工程做COM组件,添加ATL简单类之后带的那个接口使用正常。然后自己在idl里面依葫芦画瓢添加一个新接口,用类向导的添加->实现接口添加了接口并且实现两个方法。然后在测试程序里使用这个新接口的时候编译不过,报未声明的标识符,这什么原因?
注:
idl文件添加的内容
[
object,
uuid(E3B76EF4-45FD-4405-A379-6988B7EB465E),
dual,
nonextensible,
helpstring("IAdvanceMath 接口"),
pointer_default(unique)
]
interface IAdvanceMath : IDispatch
{
[id(1), helpstring("方法Multiply")] HRESULT Multiply([in,out] LONG* left_, [in] LONG num_);
[id(2), helpstring("方法Div")] HRESULT Div([in,out] LONG* left_, [in] LONG num_);
};
测试程序里的部分代码
#import "../Debug/atlMath.dll" no_namespace
...
IAdvanceMath * pAdvance = NULL;//这个地方报错
ATL项目和测试程序放在一个解决方案里头,并且都生成到../debug这个目录