静态函数和信号槽
来源:互联网 发布:韩后 知乎 编辑:程序博客网 时间:2024/05/23 14:57
class PlcManager: public QObject{ Q_OBJECTsignals: void toMainThread( int iEvent );public slots: void recvToMainThread( int iEvent );public: PlcManager(); void sdk_init(); int postMessageCommand( char *cCommand, char *cParam, int iParamLength ); void doDealMessage(); //in main threadpublic: static void fn_message_command( char *cCommand, char *cParam, int iParamLength ); //use in dll-sdk, in sub thread for receivepublic: static PlcManager *m_pManager;};PlcManager *PlcManager::m_pManager = NULL;int PlcManager::postMessageCommand( char *cCommand, char *cParam, int iParamLength ){ //first save Command and Paramater to a global variable, then emit this->toMainThread( MyEvent_Message );}void PlcManager::recvToMainThread( int iEvent ){ doDealMessage(); //可重入}void PlcManager::doDealMessage(){ //cmd from a global variable //do business}void PlcManager::fn_message_command( char *cCommand, char *cParam, int iParamLength ) //不可重入{ m_pManager->postMessageCommand( cCommand, cParam, iParamLength );}void PlcManager::sdk_init(){ if( m_pManager == NULL ) { m_pManager = new PlcManager(); connect( m_pManager, SIGNAL(toMainThread(int)), m_pManager, SLOT(recvToMainThread(int)) ); } register_message_command_notify( fn_message_command ); //注册回调函数}PlcManager::PlcManager(){ m_pManager = new PlcManager(); //X connect( m_pManager, SIGNAL(toMainThread(int)), m_pManager, SLOT(recvToMainThread(int)) ); //X //永远不要在构造函数初始化:这样会造成死循环!!}typedef void ( __cdecl *fn_message_command_type)( char *cCommand, char *cParam, int iParamLength );__declspec(dllimport) int __cdecl register_message_command_notify( fn_message_command_type fn );
0 0
- 静态函数和信号槽
- 信号和槽函数
- QT 自定义函数 自定义信号和槽
- QT 自定义函数 自定义信号和槽
- QT 自定义函数 自定义信号和槽
- 信号和槽函数的基础实现
- 关于Qt 静态成员函数调用信号
- Linux信号掩码和信号处理函数
- 信号集和信号屏蔽函数
- Linux信号、信号处理和信号处理函数
- Linux信号、信号处理和信号处理函数
- Linux信号、信号处理和信号处理函数
- Linux信号、信号处理和信号处理函数
- Linux信号、信号处理和信号处理函数
- Linux信号、信号处理和信号处理函数
- Linux信号、信号处理和信号处理函数
- Linux信号、信号处理和信号处理函数
- Linux — 信号 信号处理和信号处理函数详解
- OPENCV如何读取指定目录图像
- “富人”的思想? 引以借鉴
- Monster Card Game的设计与实现之客户端篇
- Hadoop小兵笔记【一】Hadoop安装过程中core-site.xml,hdfs-site.xml,mapred-site.xml配置文件详解
- HDOJ 题目4104 Discount(数学,技巧)
- 静态函数和信号槽
- 笔记——专访李运华:程序员如何在技术上提升自己
- ios7 本地通知
- 设计模式之“结构型模式”(一)
- android 常见面试题以及答案
- 【python】2.X与3.X版本输入输出差异 print input
- 时间格式转换类
- GestureDetector类及其用法
- cocos2dX-地图滚动