zoukankan      html  css  js  c++  java
  • (原)解决精伦iDR200 SDK在.NET开发环境中提示"尝试读取或写入受保护的内存"错误

    场景:

    开发环境
     WindowsXP Sp3 简体中文
            VisualStudio 2005 中文 SP1       
    接口版本
            Sdtaip.dll  Version  2006年11月15日, 9:34:36
            WltRS.dll   Version  2006年11月15日, 9:34:36
    此例程在VB下运行正常,通过VS2005升级工具自动升级到VB.net后,第一次运行正常,第二次运行后在获取身份证信息后出现出现附件中错误。

    解决过程:

       经实验:1、代码在VB项目下没有问题,但转到C#下即出现错误。

                 2、考虑可能变量声明长度、类型等与VB不同,于是转到VB.net,同样出现错误。

                 3、将SDK重新使用VB封装成OCX然后使用,VB.net,C#调用依然有错误。

                 4、偶然一次看到VB原始例子中把照片加载项注释掉了,于是尝试不加载图片,OK不再报错了。

                 5、检查在.net加载图片和不加载图片时图片文件的状态,分别不占用和不占用,找到问题所在了,VB与.net加载图片的方式不同,VB加载完成即释放,但.NET始终占用,这个应该是开发工具的机制不同。

    最终解决办法:(参考:GDI+中发生一般性错误” 的终极解决办法,没找到最原始出处

                 Bitmap bmp = new Bitmap("photo.bmp");
                 Bitmap bmp2 = new Bitmap(102, 126,System.Drawing.Imaging.PixelFormat.Format24bppRgb);
                 Graphics draw = Graphics.FromImage(bmp2);
                 draw.DrawImage(bmp, 0, 0);
                 pEditIDCard.Image = (Image)bmp2;
                 draw.Dispose();
                 bmp.Dispose();

    至此开发完成。

    感谢精伦技术部、市场部各位朋友的支持!

         

  • 相关阅读:
    我说AOP(面向切面编程)--藏在苹果里的五角星
    mysql workbench 一个‘愚蠢’的设计
    .Net MVC Json 日期格式
    es6 import
    asp.net mvc 模型绑定太糙淡了
    asp.net mvc 报错 CS1617: Invalid option ‘6’ for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default
    撸代码时到底用var好还是强类型变量好
    iphone5 从ios7升级到最新9.2
    修复win7 只有IE64 能上网 其他浏览器及应用都无法联网
    使用Teleri 导出实体类数组到Excel
  • 原文地址:https://www.cnblogs.com/spymaster/p/1251952.html
Copyright © 2011-2022 走看看