• 全部
...

MFC的稳定性问题

Brookvio 2011-10-31 08:47:56
新手求教~!!本人写了一个MFC程序,添加一个列表框,并通过时钟不断插入新内容,但是每到一定数量程序就会自动关闭.......T T。代码如下:
void Ctest::GetValue1()
{
CString TEMP;
p[nindex].count = nindex+1;
p[nindex].time = CTime::GetCurrentTime();
p[nindex].value = inventData;

TEMP.Format("%d",p[nindex].count);
m_ListCtrl.InsertItem(nindex,TEMP);
TEMP.Format("%d",p[nindex].value);
m_ListCtrl.SetItemText(nindex,1,TEMP);
TEMP = p[nindex].time.Format("%H:%M:%S");
m_ListCtrl.SetItemText(nindex,2,TEMP);
m_ListCtrl.EnsureVisible(nindex,FALSE);


}
OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if(nIDEvent==1)
{
}

else if(nIDEvent==2)
{
nindex = m_ListCtrl.GetItemCount();
GetValue1();
}

CDialog::OnTimer(nIDEvent);
}


初始化函数:
SetTimer(2,100,NULL);

m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT);
m_ListCtrl.InsertColumn(0,"No.",LVCFMT_LEFT,50);
m_ListCtrl.InsertColumn(1,"Value",LVCFMT_LEFT,100);
m_ListCtrl.InsertColumn(2,"Time",LVCFMT_LEFT,110);
...全文
给本帖投票
177 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙行天下之Sky 2011-11-01
  • 打赏
  • 举报
回复
数组越界,程序没有问题
MFC更不存在很不稳定
因为你用的不深,所以稳定性没有问题
有时多看看自己代码,不要总是怪编译器,这样才是解决问题的基本方法
当然你如果用最新的语言特性,编译器有可能会不支持
q1q2q3q4ln 2011-11-01
  • 打赏
  • 举报
回复
楼主,你要回复大家的疑问哦
sharptiger123 2011-10-31
  • 打赏
  • 举报
回复
用MFC自带的容器比较好啊
gameslq 2011-10-31
  • 打赏
  • 举报
回复
建议在DEBUG模式下跟踪程序,等程序报错时查看栈回朔
luoshupeng 2011-10-31
  • 打赏
  • 举报
回复
应该是ListCtrl自身有个数量限制吧
yuucyf 2011-10-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 brookvio 的回复:]
新手求教~!!本人写了一个MFC程序,添加一个列表框,并通过时钟不断插入新内容,但是每到一定数量程序就会自动关闭.......T T。代码如下:
void Ctest::GetValue1()
{
CString TEMP;
p[nindex].count = nindex+1;
p[nindex].time = CTime::GetCurrentTime();
p[nindex]……
[/Quote]
p结构中的count定义为什么,如果是DWORD的话,那么你应该用TEMP.Format("%u",p[nindex].count);
而不是用TEMP.Format("%d",p[nindex].count)。

而且达到一定的数量,这个数量是多少?
wyx100 2011-10-31
  • 打赏
  • 举报
回复
timer不稳定,会影响系统性能,cpu越占越高,系统越来越慢。
用户 昵称 2011-10-31
  • 打赏
  • 举报
回复
看代码估计跟timer无关,最有可能是index超了范围。
用户 昵称 2011-10-31
  • 打赏
  • 举报
回复
timer不稳定,会影响系统性能,cpu越占越高,系统越来越慢。
fandh 2011-10-31
  • 打赏
  • 举报
回复
p[nindex],会不会越界?
fandh 2011-10-31
  • 打赏
  • 举报
回复
一定数量大致是多少?
Brookvio 2011-10-31
  • 打赏
  • 举报
回复
typedef struct Data{
UINT count;
UINT value;
CTime time;
}Data,*_Data;
_Data p;

这是p的定义
Eleven 2011-10-31
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 brookvio 的回复:]

引用 6 楼 yuucyf 的回复:
引用楼主 brookvio 的回复:
p结构中的count定义为什么,如果是DWORD的话,那么你应该用TEMP.Format("%u",p[nindex].count);
而不是用TEMP.Format("%d",p[nindex].count)。





count是int类型,“一定数量”只有146个
[/Quote]
CListCtrl中添加146个应该没问题的
liujie250079934 2011-10-31
  • 打赏
  • 举报
回复
p[nindex]你是定义是多大啊
Brookvio 2011-10-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yuucyf 的回复:]
引用楼主 brookvio 的回复:
p结构中的count定义为什么,如果是DWORD的话,那么你应该用TEMP.Format("%u",p[nindex].count);
而不是用TEMP.Format("%d",p[nindex].count)。


[/Quote]


count是int类型,“一定数量”只有146个
Brookvio 2011-10-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fandh 的回复:]
一定数量大致是多少?
[/Quote]



一定数量是146个

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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

手机看
关注公众号

关注公众号

客服 返回
顶部