UpdateData(TRUE)提示内存不足

yk_xiong 2004-09-10 02:31:00
先执行OnBrouser(),再执行OnAutoImp()
那么,UpdateData(TRUE)会弹出警告“内存不足”!

void CLoadFlowDlg::OnBrowser()
{
// TODO: Add your control notification handler code here

FILE* fp;
char szPath[255],szTemp[128];

fp = fopen("LOADFILE.CTL", "wb");
fprintf(fp,"LOAD DATA\n");

CFileDialog FileDlg(TRUE,NULL, NULL, OFN_HIDEREADONLY, NULL, NULL);
if ((FileDlg.DoModal()) == IDOK)
{
m_Location = FileDlg.GetPathName();
PathSplit(m_Location, szPath, szTemp);
UpdateData(FALSE);
}
strcat(szPath, "userflow.txt");
fprintf(fp, "INFILE '%s'\n", szPath);
fprintf(fp, "APPEND\n");
fprintf(fp, "INTO TABLE TBLUSERFLOW\n");
fprintf(fp, "FIELDS TERMINATED BY X'09'\n");
fprintf(fp, "TRAILING NULLCOLS\n");
fprintf(fp, "(FLDUSERID, FLDUSEFLOW, FLDUSETIME)\n");
fclose(fp);
}

void CLoadFlowDlg::OnAutoImp()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE); //警告:内存不足
...
}
...全文
218 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yk_xiong 2004-09-13
  • 打赏
  • 举报
回复
问题解决了:
1》因为从文件对话框选出来的路径中有转义字符“\”,所以在UpdateData(TRUE)时会有问题
2》如lizmei001(暗黑) 兄所言,如果if条件不成立的时候也确实会产生内存问题
谢谢各位,散分!!
dirdirdir3 2004-09-10
  • 打赏
  • 举报
回复
界面中还有什么资源?
lizmei001 2004-09-10
  • 打赏
  • 举报
回复
if ((FileDlg.DoModal()) == IDOK)
{
m_Location = FileDlg.GetPathName();
PathSplit(m_Location, szPath, szTemp);
UpdateData(FALSE);
}每次if都成立吗?
如果不成立,就是
char sz[255];strcat(sz, "fdfd");超出了sz定义的内存
smallcrocodile 2004-09-10
  • 打赏
  • 举报
回复
可能窗口上有的控件类型与输入的不匹配,你在DODATAEXCHANGE里设置断点试一试
yk_xiong 2004-09-10
  • 打赏
  • 举报
回复
不是很明白
不可能把所有代码贴出来,那太多了
主要相关联的代码就这些,
打开界面就操作这两按钮
simonjp 2004-09-10
  • 打赏
  • 举报
回复
fprintf很耗内存吗?这点代码看不出问题
lixiaosan 2004-09-10
  • 打赏
  • 举报
回复
看不出来问题。。。:(
晨星 2004-09-10
  • 打赏
  • 举报
回复
哦,sorry。
yk_xiong 2004-09-10
  • 打赏
  • 举报
回复
编译成Release版就没有这个问题!!
Debug版就有,奇怪!
memory_xj 2004-09-10
  • 打赏
  • 举报
回复
仔细检查对话框控制与其对应变量之间的数据交换。
yk_xiong 2004-09-10
  • 打赏
  • 举报
回复
steedhorse(晨星) :
对话框程序,没有OnDraw函数
yk_xiong 2004-09-10
  • 打赏
  • 举报
回复
On_Brouser是一个按钮
OnAutoImp也是一个按钮
我如果先点AutoIMp就不报错
先点OnBrowser就要报错
所以我香是不是OnBrowser里面的代码有什么错误

搜到一片文章,没太明白意思
http://search.csdn.net/Expert/topic/984/984088.xml?temp=.9594232

麻烦大家了
晨星 2004-09-10
  • 打赏
  • 举报
回复
看看OnDraw函数?
DentistryDoctor 2004-09-10
  • 打赏
  • 举报
回复
可能你哪有内存泄漏吧。从上面的代码看不出来。

16,472

社区成员

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

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

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