IDL编译错误MIDL 2020:AddImplType

   该错误出现在继承自定义的自动化接口时,出现下列代码处产生:
 __interface i1 : IDispatch
 {
   [id(1), helpstring("Method F1"[img]/images/wink.gif[/img]] HRESULT F1(void);
 };

 ……
 __interface i2 : i1
 {
   [id(1), helpstring("Method F2"[img]/images/wink.gif[/img]] HRESULT F2(void);
 }; 


   上面代码是使用Visual Studio的"Add Method" wizard自动创建的。错误原因在方法F1和F2的dispid重复,解决方法:
 
 __interface i2 : i1
 {
   [id(2), helpstring("Method F2"[img]/images/wink.gif[/img]] HRESULT F2(void);
 };

 即将dispid手工改为不同值即可。
 参考资料: ATL Digest

你可能感兴趣的:(IDL编译错误MIDL 2020:AddImplType)