jpg文件不完整时,部分系统的vb程序加载图片时报'无效图片' 。
  我这里说的“jpg文件不完整”是指jpg文件的信息头正确,但因网络传输文件时,文件的后面部分缺失;
从IE中打开观看,图片的下部为灰色。
  多台计算机,一台装有vb6Sp6环境,在开发环境中可装入这种jpg文件,代码中用loadpicture也正确。
  一台笔记本,装有vb6Sp6环境,在开发环境中装入这种jpg文件时报‘无效图片’,代码中用loadpicture装入图片时,报错窗口显示‘ModName:asycfilt.dll’错误,提示将错误发送给微软;不发送就直接退出了程序。代码中用“on error”不起作用。在该机中delphi6正常。
  现场的多台计算机的vb工程exe读这种jpg文件时,也报‘ModName:asycfilt.dll’错误。
替换asycfilt.dll也无效。
因程序要长期大量处理jpg图片,请问有人解决过这种问题吗?

解决方案 »

  1.   

    图片放出来 也许还会成就一个 EXP 呢
      

  2.   

    必须用文件来存储图片。再说数据库一样也可能存图片时缺后面的部分字节。
    图片其实不必我给大家,随便找个jpg图片,用“UltraEdit-32”等16进制编辑软件
    将文件后面删掉一些字节然后保存。再用IE打开即可看到效果,但是IE不会报错退出呀。
    我也希望在vb6中不会报错退出!
      

  3.   

    那就不要用loadpicture了,自已写一个读取图像文件的过程吧。
      

  4.   

    自己写读jpg文件的过程?
    我是想找到一种相对简单的方法,否则代码的改动就太大了,所有图片显示和第二次点击图片进行缩放的地方改完后还要重新测试一遍。若是那样,我就用gdi+重写了。
    我感觉可能与操作系统补丁有关,若能通过更换系统文件来实现最好了,毕竟有的机器运行是好的。可是找不到根源,而在那些机器上vb莫名其妙的用“on error”捕捉不到错误就被系统报错关闭了。
    不过还是要谢谢上面的各位。