背景同样的程序,在两个不同的计算机上运行。台式电脑运行正确,一点错没有,但是当我把程序放到笔记本上运行时,出现了莫名奇妙的错误。 win32的打开文件对话框出现问题,打开直接没有反应,每次重启之后才能能打开文件选择界面,但是没办法跳转到其它路径,只能选择默认路径下的文件。 解决由于对win32的系统api不太熟悉,没有第一时间找到原生的错误,一直将问题归咎于系统,遂反复更新系统,依然无效,于是当前唯一有效的方法——等win10的更新。。。。。。 今早根据GetOpenFileName,也就是第一个出错的函数,搜索到CommDlgExtendedError这个关键函数,返回win32 dialog的错误码。2----CDERR_INITIALIZATION, 内存不足导致初始化错误。 明确方向,增大文件名缓冲区大小,无效。内存?一个dialog要个啥的内存。麻了。。。。。。 内存,栈,堆,程序初始哪来的堆? 栈,我也没对栈干什么啊! 莫非。。。。。。 堆栈保留大小,卧槽,这谁设置的堆栈大小,应该是我,为啥?不知道(傻逼)。删除,成了。 结论不要轻易设置堆栈保留大小,会出大问题,影响心理健康,世界和平。 |
/1
|手机版|免责声明|本站介绍|工控课堂
( 沪ICP备20008691号-1 )
GMT+8, 2025-12-22 17:26 , Processed in 0.069294 second(s), 23 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.