Error

C++博客 首页 新随笔 联系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
之前一直要该tlb文件,或者修改生成之后的文件,结果总是有问题,果然VC牛逼啊,,,
今天到网上看到终极方案了,确实是有效的

解决办法如下:
    UIFlash.h
  行:#import "..\Utils/Flash11.tlb" raw_interfaces_only, named_guids
  
  改为:
  #import "..\Utils/Flash11.tlb" raw_interfaces_only, named_guids, rename("IDispatchEx","IMyDispatchEx")
  可以解决以上的题目。
  
  为了兼容性更好,防止体系flash的插件更新后又有题目,干脆直接导入你本身体系的OCX,于是将这一行最好改为:
  #import "PROGID:ShockwaveFlash.ShockwaveFlash"      raw_interfaces_only,       /* Don""t add raw_ to method names */     named_guids,           /* Named guids and declspecs */        rename("IDispatchEx","IMyDispatchEx") /* fix conflicting with IDispatchEx ant dispex.h */  

来了第二种姐姐方案:
在UIWebXXXX.h 和.cpp中,把cpp的头文件移动到h里边,可能是<ExDisp.h>里边一些宏在起作用

#include <mshtml.h>
#include <atlconv.h>
#include <atlcomcli.h>
#include "Utils/WebBrowserEventHandler.h"
#include <ExDisp.h>
----------------------------------------------------
#include "../Utils/downloadmgr.h"
posted on 2014-02-17 19:47 Enic 阅读(934) 评论(0)  编辑 收藏 引用 所属分类: Duilib

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理