项目中组件工厂的注册方法, 步骤繁琐, 备忘一下

注册步骤:

1.创建组件头文件IUserListBtnTipView

组件头文件统一继承自com::IComponent

 class IUserListBtnTipView : public com::IComponent

创建完成后, 别忘了声明接口ID:

 COM_ID_DECLARE(IUserListBtnTipView);

2.注册 ComponentsFactory

在 objReg.xml 中添加新的组件:

 <item interface="IUserListBtnTipView" comtype="CT_CLIENT" filepath="ClientUI.dll" threadname="THREAD_UI"/>

添加完成后, 执行脚本objectReg.py 会在 componentstable.cpp 生成该组件的注册项:

 BEGIN_COM_TABLE()COM_INFO_ITEM("IUserListBtnTipView",CT_CLIENT,"ClientUI.dll","THREAD_UI")END_COM_TABLE()

3.创建组伯对应的实际文件 CUserListBtnTipView:

class CUserListBtnTipView : public IUserListBtnTipView

在该类的头文件中添加组件的定义:

 DECLARE_NOTIFY_REGIST(CUserListBtnTipView);

4.在组件所在的库client.h中添加定义:

 BEGIN_DECLARE_COMDECLARE_COM(CUserListBtnTipView, "IUserListBtnTipView")END_DECLARE_COM

注意: 这里添加的 CUserListBtnTipView 就是后面实际调用时, 获取的类.

5.调用方法:

 GetComMan(CT_CLIENT, pFactoryClient);base::scoped_refptr<IUserListBtnTipView> pBtnTip;pFactoryClient->GetComponent(pBtnTip);if (!pBtnTip.get())return;




<h4>6.错误修改:</h4>
#include "NotificationCenter/global.h"
#include "NotificationCenter/messagetype.h"
#include "NotificationCenter/notificationobserver.h"
// msg proc
DECLARE_NOTIFY_MAP();

项目中组件工厂的注册方法相关推荐

  1. 前端学习(2956):项目中组件的本地注册

  2. 前端学习(2955):项目中组件的全局注册

  3. vue ajax highcharts,在vue项目中引入highcharts图表的方法(详解)

    npm进行highchars的导入,导入完成后就可以进行highchars的可视化组件开发了 npm install highcharts --save 1.components目录下新建一个char ...

  4. vue基础18(vue-cli脚手架项目中组件的使用)

    vue-cli脚手架项目中组件的使用 在webpack-simple模板中,包括webpck模板.一个.vue文件就是一个组件. 为什么会这样呢?因为webpack干活了!webpack的将我们所有的 ...

  5. vue导入swiper_vue项目中导入swiper插件的方法

    这篇文章主要为大家详细介绍了vue项目中导入swiper插件的方法,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 版本选择 swiper是个常用 ...

  6. php项目前端src文件结构,前端项目中目录结构优化的方法总结

    本篇文章给大家带来的内容是关于前端项目中目录结构优化的方法总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 目录结构优化 现在前端项目越来越变得像大型工程了,而且越来越复杂了,需要 ...

  7. React项目中请求跨域解决方法

    React项目中请求跨域解决方法 今天经理给我了一个React项目地址,让我拉下来并跑起来,拉下来运行起来后,发现所有的请求都失败了,并且都是由于跨域问题导致的.花了点时间,解决了这个问题,在这里记录 ...

  8. elementui中组件el-dialog宽度调整方法

    参考链接: 1. vue中对el-dialog宽度调整方法之一二 2. elementui中组件el-dialog宽度调整方法

  9. angular select设置默认选中_改进 Angular + Jest 项目中组件测试的调试

    @angular-extensions/pretty-html-log 原文链接​medium.com原作者:Kevin Kreuzer​medium.com 译者: 知乎用户​www.zhihu.c ...

最新文章

  1. Unity5.6+ 导出Android 应用程序apk的环境配置及导出过程
  2. 浅析Hyperledger Fabric共识算法
  3. python socketserver实现服务器端执行命令 上传文件 断点续传
  4. 【科普】五分钟快速了解代码复杂度
  5. 信息竞赛进阶指南--单调栈(模板)
  6. 自定义控件的构建(12)
  7. 服务器信号怎么设置好,手机这样设置,WIFI信号马上提高!
  8. C#中如何利用操作符重载和转换操作符
  9. 骆斌软件工程基础思维导图
  10. The Dandy Lab使用RFID积分方案,提升客户保持率
  11. PHP数组的访问方法有几种,PHP数组的几种遍历方法
  12. 第14章 学习scikit-learn文档
  13. 【神经网络】2. 神经网络设计过程
  14. mysql多表格数据合并_mysql 如何实现两个表数据统计合并
  15. 网络抖动多少ms算正常_如何测试延时、抖动、丢包率
  16. 信息收集(成功就是99%的运气+1%的搜索引擎)
  17. SEO优化工具,查询死链VisualSEOStudio-2.0.2.3
  18. PostgreSQL 从cmin/cmax到combo cid
  19. Win系统 - 系统双击文件总弹出属性窗口如何解决?
  20. 科学论文写作文献查找运用--WOS文献导出

热门文章

  1. tp5、PHP 图片审核七牛云 最简单详细
  2. 计算机视觉之分类任务常用损失值loss对比分析
  3. IDEA最好用的插件推荐,吐血整理!
  4. 工作笔记|2021CV领域顶会时间表
  5. 使用小赛看看软件浏览Dicom文件
  6. Intra-mart[E.IWP.AUTHZ.DECISION.10007] 资源组别未登记。
  7. 如何在Sage X3 ERP中使用集装箱管理和物流跟踪
  8. 操作系统from清华大学向勇,陈渝 笔记(二)操作系统的启动、中断、异常、系统调用
  9. ttyUSB 串口编程 Linux下 USB转串口
  10. EXFO FVA-600可变衰减器