Error

C++博客 首页 新随笔 联系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

Module.h
    网狐的“com”工具箱:
简单介绍下这个东东,其实我以前分析的时候就说过了,这个设计看上去很美,其实用起来不那么方便。这不6603就没有这玩意了。
    网狐的COM接口比较简单,只有两个接口
interface IUnknownEx
  void Release()
  void* QueryInterface(REFGUID guid, DWORD dwQueryVer)
从这个接口可以看出唯一的外部依赖就是guid 和 dwQueryVer

在来看那个help工具模版类
template <typename IModeluInterface> class CTempldateHelper
 //构造函数
 CTempldateHelper(REFGUID Guid, DWORD dwVersion);
 //构造函数
 CTempldateHelper(REFGUID Guid, DWORD dwVersion, LPCTSTR pszModuleDll, LPCSTR pszCreateProc);
两个构造函数,能看出点什么不,,,
// 这代表DLL的名,和DLL中创建组件的函数名,别告诉我你不知道动态加载dll
LPCTSTR pszModuleDll, LPCSTR pszCreateProc
// 这些稀烂班子就是隐藏了动态加载的过程而已
 //获取错误
 inline LPCTSTR GetErrorDescribe() const;
 //指针重载
 inline IModeluInterface * operator->() const;
 //获取接口
 inline IModeluInterface * GetInterface() const;

这样看起来很美,其实隐藏了太多东西,降低了代码的可读性。接口都看不到了,,,坑爹的,,,

posted on 2012-08-27 17:07 Enic 阅读(759) 评论(0)  编辑 收藏 引用 所属分类: 网狐棋牌源码分析

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理