PB中SetPicture问题分析及部分解决方法描述?

PB中SetPicture问题分析及部分解决方法描述?

作者:ddwcyl
20076.9

前几天同事用PB开发一个浏览图片的程序,在设置一个图片时程序直接down掉,界面一片空白,得直接结束任务方可解决!

前几天同事用PB开发一个浏览图片的程序,在SetPicture某些图片(jpg格式)时程序直接down掉,界面一片空白,得直接结束任务方可解决!我google了一些资料,众说纷纭,有的说不能文件大于64K的等等,但是都没有给出解决方案。

我试验了一下,发现大于64K的图片完全可以加载,随检查好的图片和导致程序down掉图片的区别,用ue打开,在十六进制的模式下,好的图片最后的结尾为FF D9,而导致死机的图片的最后的结尾一般为 FF ,没有D9。

我猜想可能是文件结尾不全的问题,随即用UE将最后两位补齐,再用SetPicture进行加载,显示正常;问题找到了。

(注:这可能只是PB调用SetPicture死机的其中一个原因,不代表所有的原因)

问题找到了,解决就很容易了,由于该应用程序图片是存储到oracle数据库中的,随编写了一个Oracle的存储过程解决该问题,在SelectBlob 之前执行一下存储过程检查数据是否有问题,有问题时直接将字段内容补齐后更新数据库;然后再进行查询,最后问题圆满解决。

PB暴露的这个问题说明了PB的Pciture控件功能不健全,没有提供容错性处理的问题,我们可以自己封装一个picture空间,将一些容错处理加入,自动处理这些问题,这样程序将会健壮了很多.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值