发送信号中内存非法访问

奔跑的蜗牛 2010-05-07 12:08:04
加精

///////////////////////////////////////////////////////////
//常量定义
#define STR_TOTALLINE_TYPE_USER QString::fromUtf8("内线")
#define STR_TOTALLINE_TYPE_TRUNK QString::fromUtf8("外线")
#define STR_TOTALLINE_TYPE_EMPTY QString::fromUtf8("悬空")
#define STR_TOTALLINE_TYPE_RECORD QString::fromUtf8("录音")

///////////////////////////////////////////////////////////
//signal 定义
signals:
void outTableItem(int nRow, int nCol, QString label);

////////////////////////////////////////////////////////////
//signal 使用
long lType;

QString strText;

/*usTotalLine > 8*/
for (int i = 0; i < usTotalLine; i++) {

lType = CheckChTypeNew(i);
switch (lType) {
case CHTYPE_USER:
strText = STR_TOTALLINE_TYPE_USER;
break;
case CHTYPE_TRUNK:
strText = STR_TOTALLINE_TYPE_TRUNK;
break;
case CHTYPE_EMPTY:
strText = STR_TOTALLINE_TYPE_EMPTY;
break;
case CHTYPE_RECORD:
strText = STR_TOTALLINE_TYPE_RECORD;
break;
}

/*我注释一种的任何一句emit 程序做一次循环就出现内存的非法访问*/
/*如果不注释 程序可以做3次循环*/
/*debug 发现是QString一起的错误*/
emit
outTableItem(i, INT_TOTALLINE_ITEM_NUM, QString::number(i));
emit
outTableItem(i, INT_TOTALLINE_ITEM_TYPE, strText);
msleep(500);
}

/////////////////////////////////////////////////////////////////
//slot 定义
public slots:
void startServer(bool checked);

/////////////////////////////////////////////////////////////////
//connect
connect(&classVoiceSystem, SIGNAL(outTableItem(int, int, QString)), this,
SLOT(setTableItem(int, int, QString)));

/////////////////////////////////////////////////////////////////
//slot 我屏蔽主体语句错误依然 可以排除slot中的问题
void CallCenterServer::setTableItem(int nRow, int nCol, QString label) {
QTableWidgetItem *item = new QTableWidgetItem(label);
ui.tableWidget->setItem(nRow, nCol, item);
}
...全文
437 56 打赏 收藏 转发到动态 举报
写回复
用AI写文章
56 条回复
切换为时间正序
请发表友善的回复…
发表回复
colin_sw 2010-05-11
  • 打赏
  • 举报
回复
study
cymlife 2010-05-11
  • 打赏
  • 举报
回复
不错,不懂
greenxingqing 2010-05-11
  • 打赏
  • 举报
回复
需要释放内存!
飒雷 2010-05-11
  • 打赏
  • 举报
回复
来学习
老子不容易 2010-05-10
  • 打赏
  • 举报
回复
指定了
我又发现 emit 时 变量 i, 和 lType 会被改变
声明const 也
doudoullihaijun 2010-05-10
  • 打赏
  • 举报
回复
dddddddddddddddd
iachff 2010-05-10
  • 打赏
  • 举报
回复
ereup
六六木木 2010-05-10
  • 打赏
  • 举报
回复
学习了,,,,
linguangfei2007 2010-05-10
  • 打赏
  • 举报
回复
路过,路过,学习
fashionme 2010-05-10
  • 打赏
  • 举报
回复
虽然看的不是很了解,学习学习!
zouyuanming 2010-05-10
  • 打赏
  • 举报
回复
感受感受过
zqmhn 2010-05-10
  • 打赏
  • 举报
回复
学习了
love_19880826 2010-05-09
  • 打赏
  • 举报
回复
路过...........
qunwngcheshen 2010-05-09
  • 打赏
  • 举报
回复
虽然看的不是很了解,学习学习!
奔跑的蜗牛 2010-05-09
  • 打赏
  • 举报
回复
谢谢大家!
我搞错了 不是信号的问题
我调用库函数CheckChTypeNew()引起的错误

一场误会......
wangjjiang198877 2010-05-09
  • 打赏
  • 举报
回复
学习 学习

hhf 2010-05-09
  • 打赏
  • 举报
回复
看看。。
rwf66666 2010-05-09
  • 打赏
  • 举报
回复
不错,我懂了
lwdream 2010-05-09
  • 打赏
  • 举报
回复
-----------------------------
丈剑走天涯 2010-05-09
  • 打赏
  • 举报
回复
学习中
加载更多回复(35)

16,213

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧