一个VS2005的有趣问题,不知道是不是这个工具的bug

jianyun123 2009-03-20 10:26:03
OPENFILENAME ofn;
char szFileName[MAX_PATH] = {0};
char szFileTitle[MAX_PATH] = {0};

ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME); // 这条语句在程序release版本中,老是执行不到,直接跳过了,导致APPname.exe 中的 0x004083b1 处未处理的异常: 0xC0000005: 写入位置 0x0045e520 时发生访问冲突。
ofn.hwndOwner = hWnd;
ofn.lpstrFile = szFileName;
ofn.nMaxFile = sizeof(szFileName);
ofn.lpstrFilter = "flash file\0*.swf\0";
ofn.nFilterIndex = 0;
ofn.lpstrFileTitle = szFileTitle;
ofn.nMaxFileTitle = sizeof(szFileTitle);
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;

如上所述,也不知道,怎么解决,在debug状态下和vs6.0中都没有问题,不知道是不是vs2005的bug,等待高手解答!
...全文
81 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianyun123 2009-03-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 akirya 的回复:]
应该不是这里引起的问题
检查下你的代码,是不是其他地方越界了
[/Quote]
担心是这个问题,但是代码太多,一时也没有找到答案。
我重新布置了一下工程,问题居然就没了。诡异!
  • 打赏
  • 举报
回复
应该不是这里引起的问题
检查下你的代码,是不是其他地方越界了
jianyun123 2009-03-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ywapple 的回复:]
换成这样试看看
ofn.lStructSize = (long)sizeof(OPENFILENAME);
[/Quote]
不行,这一句代码,根本就执行不到,试了很多方法了
以为是优化问题,但是优化不可能把这句代码给优化掉啊,把优化关了,还是同样问题,这个release版真头疼,实实在不行,就暂时用vs6.0发布一个版本,后面再想办法。
jianyun123 2009-03-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hust_terry 的回复:]
vs2005是过渡版本,至少要打个SP1补丁才基本能用
[/Quote]
是吗,之前没用vs2005,在学习的时候用过一段时间,都是做c#的
c/c++一直用的是vs6.0
我试试。
ywapple 2009-03-20
  • 打赏
  • 举报
回复
换成这样试看看
ofn.lStructSize = (long)sizeof(OPENFILENAME);
hust_terry 2009-03-20
  • 打赏
  • 举报
回复
vs2005是过渡版本,至少要打个SP1补丁才基本能用

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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