今天解决了一个问题:GDI库版本不一致
来源:互联网 发布:linux 自动安装gcc 编辑:程序博客网 时间:2024/05/11 00:23
问题描述:报表程序包括这样一个功能,在对话框上画设备的运行状态图,然后利用GDI库将对话框上的图谱保存到文件中,存为bitmap格式,调用了GetDIBits函数,报表程序在我的开发用机上运行正常,可是换到其它机器上时候,出现的内存访问非法的错误
解决过程:
1、加MsgBox确定出错的代码,确定在GetDIBits函数调用
2、查MSDN,GetDIBits函数在GDI32.dll中,该dll在system32下面,查两个机器上的版本,版本不一致。
3、从网上搜索GetDIBits函数,发现该函数调用之前,需要为图谱分配内存,而旧版本的GDI需要分配大于图谱长*宽的内存,而新版本的GDI只需要分配长*宽的内存就够了。
4、在第三步的基础上,增加内存分配,问题解决。
总结:经常遇到自己开发的软件在自己机器上调试运行没有问题,或者debug没有问题,但release版本有问题,很有可能的原因是MFC里面的dll版本不一致,不同的dll版本对需要分配的内存大小也不一致。仔细比对,多花时间和经历,也许问题就能解决。
- 今天解决了一个问题:GDI库版本不一致
- 今天解决了一个问题,爽。
- 今天又解决了一个问题。
- 今天发现一个问题终于解决了
- 如何解决代码版本不一致的问题
- hbase probuf版本不一致问题的解决
- Java环境变量配置&解决版本不一致问题
- 解决ADT和SDK版本不一致问题
- JDK 和JRE 解决版本不一致问题
- Java环境变量配置&解决版本不一致问题
- Java环境变量配置&解决版本不一致问题
- Java环境变量配置&解决版本不一致问题
- 今天解决一个问题。
- 一个月以前难住我的问题今天解决了.
- 今天上传了一个版本的Snooper
- 解决android和ios中数据库版本不一致的问题
- Java环境变量配置&解决版本不一致问题 (转)
- Java环境变量配置&解决版本不一致问题详解
- 四类牛,四类人,四类牛人
- Win2003 Server DHCP服务器安装图解
- 这十条网页设计经验是从我们的调查中总结出来的。
- 教你如何收拾发短信的骗子们 (让40亿人崩溃)
- 网上找的安装opendiameter的文章
- 今天解决了一个问题:GDI库版本不一致
- 10个论坛
- Item3:Use objects to manage resources--以对象管理资源
- 面试(南京文思创新软件)
- 转:Linux操作系统套接字编程的5个隐患
- 获取硬件信息
- 第一次
- 正式开博
- C++内存分配操作