当前位置: 首页 > news >正文

承德网站制作公司优选网十科技重庆公司建设网站

承德网站制作公司优选网十科技,重庆公司建设网站,织梦dedecms教育培训网站模板,渠道推广策略前几天从网上下了个图像分析的mfc小程序#xff0c;是VC6的 用VC6在本地编译生成都没问题。执行起来弹出一个未处理的错误#xff0c;程序崩溃退出。 想起来原来遇到过打开文件对话框方面的问题#xff0c;当时项目时间紧张未能深究。 这次要好好看下这个问题。 详细做法就是… 前几天从网上下了个图像分析的mfc小程序是VC6的 用VC6在本地编译生成都没问题。执行起来弹出一个未处理的错误程序崩溃退出。 想起来原来遇到过打开文件对话框方面的问题当时项目时间紧张未能深究。 这次要好好看下这个问题。 详细做法就是深入仔细的跟踪、跟踪、跟踪。。。 应用代码跟进 MFC的代码跟进 Alt8调出反汇编跟进。。。 重复多次重复追踪、缩小目标。确定问题是在CFileDialog 的析构函数中调用了CString 的析构函数 恰恰是析构CSring 出错了。 CFileDialog 的定义例如以下就是析构这个 m_strFilter 出错的。 class CFileDialog : public CCommonDialog {  DECLARE_DYNAMIC(CFileDialog) public: // Attributes  OPENFILENAME m_ofn; // open file parameter block // Constructors  CFileDialog(BOOL bOpenFileDialog, // TRUE for FileOpen, FALSE for FileSaveAs   LPCTSTR lpszDefExt NULL,   LPCTSTR lpszFileName NULL,   DWORD dwFlags OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,   LPCTSTR lpszFilter NULL,   CWnd* pParentWnd NULL); ......省略n 多行 protected:  BOOL m_bOpenFileDialog;       // TRUE for file open, FALSE for file save  CString m_strFilter;          // filter string       // separate fields with |, terminate with ||\0  TCHAR m_szFileTitle[64];       // contains file title after return  TCHAR m_szFileName[_MAX_PATH]; // contains full path name after return  OPENFILENAME*  m_pofnTemp;  virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult); }; 发现这里面找的m_strFilter 的地址就不正确 0012F7EC 是 CFileDialog 实例的地址 析构m_strFilter 找的是0012F8A8再运行就会出错。去这个地址瞄一眼。感觉就不正确啊 于是在构造函数跟踪时。发现m_strFilter 的地址是0012F89C 比較两次合成ecx 中m_strFilter的this指针时。非常明显不同 add ecx 0b0h  ;构造时 add ecx 0bch  ;析构时 喔喔算偏移嘛。怎么会不一样呢这个再花时间研究下吧。 嗐呀说不定有人研究过啦。灵机一动bing 下add ecx 0b0h果然。第一条就命中 http://blog.titilima.com/show-590-1.html。这里已有答案。感谢作者李马先生 :-) 原因讲的非常清楚了。 但是怎么改呢难道去动vs 的源代码。 当然VS的源代码也是能够改的。只是呢通过定义追溯文件发现到了 C:\Program Files\Microsoft SDKs\Windows\v7.1\Include 以下 当初MFC4.2 的年代应该还没有v7.1 的版本号呀去看下文件夹设定吧 v7.1 的include 在最上面。 果断移到最下。所有又一次生成没问题啦奥也。 自已是否动过这个设定记不清了。亦或是后来装VS2010或DDK的时候影响了 总之呢我们能够觉得。就VC6本身来说还是没问题的因为安装多个开发环境造成的冲突是本问题出现的原因。 转载于:https://www.cnblogs.com/liguangsunls/p/6839582.html
http://www.pierceye.com/news/508275/

相关文章:

  • phpstudy建设网站教程微信小程序开发需要什么
  • 快手刷评论推广网站网站几个数据库
  • 山东网站建设网站我国网站开发
  • 常见的网站类型有北京电力建设公司待遇
  • 网站分析流程wordpress表单统计插件下载
  • 南宁网站建设公司seo优化武鸣住房和城乡规划建设局网站
  • 在线制作网站门户站模板
  • 邵阳网站建设推广56m做图片视频的网站是什么
  • 如何提高网站的点击率域名空间网站推广
  • 上海松江做网站建设wordpress 拒绝连接
  • 有免费的个人网站吗富德生命人寿保险公司官方网站保单服务
  • 网站备案 子域名网页视频制作软件
  • 空间 网站网站建设哪个好
  • 公司网站域名价格云南免费网站建设
  • 网站跳转域名不变常见网站架构
  • 山东省建设厅电工证查询网站网站标题的选择
  • 网站建设是属于软件吗电话销售哪里找客户电话
  • 用vue做网站的实例网站制作郑州
  • 五个网站想自己在家做外贸网站
  • 收费的电影网站怎么做网页设计图片的应用
  • 班级网站建设步骤橘子皮主题wordpress
  • 网站模板源文件网站制作需求文档
  • 青岛注册公司网站建网站需要那些步骤
  • 深圳做网上商城网站小蘑菇网站建设软件
  • 广州住建网站网站空间购买价格
  • 金华永康网站建设公司做网站的优点
  • 有免费的微网站制作吗瑞安哪里有培训做网站的
  • 苏州住房和城乡建设局网站wordpress中文书
  • 盐城市滨海县建设局网站wordpress 4.8.1 漏洞
  • 荆州市城市建设投资开发有限公司网站百度人工服务24小时