.Net中使用com组件后发生System.ArithmeticException异常的解决办法
来源:互联网 发布:mongodb与mysql的区别 编辑:程序博客网 时间:2024/05/18 02:21
最近在开发一个.Net程序,其中涉及到对com组件的调用,在调用完以后如果使用一些小的测试程序继续运行,一切正常,但是在使用带有GUI的form程序继续执行时,总是出现以下异常
Exception: System.ArithmeticException
Message: 算术运算中发生溢出或下溢。
Source: System.Drawing
at System.Drawing.Font.Initialize(FontFamily family, Single emSize, FontStyle style, GraphicsUnit unit, Byte gdiCharSet, Boolean gdiVerticalFont)
at System.Drawing.Font..ctor(String familyName, Single emSize, FontStyle style, GraphicsUnit unit, Byte gdiCharSet)
at Payment.Phone.ErrorForm.InitializeComponent() in E:/cvsroot/develope/payment/Phone/ErrorForm.cs:line 108
at Payment.Phone.ErrorForm..ctor(Util util, String msg) in E:/cvsroot/develope/payment/Phone/ErrorForm.cs:line 139
at Payment.Phone.ConfirmForm.lblNext_Click(Object sender, EventArgs e) in E:/cvsroot/develope/payment/Phone/ConfirmForm.cs:line 212
后来到处找资料,花了我一天的时间才给解决,以下是我的解决办法:
1.声明一个DLL掉用
[DllImport("msvcr70.dll", CallingConvention = CallingConvention.Cdecl)]
unsafe public static extern int _controlfp(int n, int mask);
2.在代码中添加以下代码方法
internal void ResetFPCR()
{
const int _EM_OVERFLOW = 0x0009001F;
const int _MCW_EM = 0x000FFFFF;
_controlfp(_EM_OVERFLOW, _MCW_EM);
}
3.在调用完com组件后,调用以上方法,如:
//这里调用com组件
//然后执行Reset方法
ResetFPCR();
注:具体详细请看http://support.microsoft.com/default.aspx?scid=KB;EN-US;q326219&
- .Net中使用com组件后发生System.ArithmeticException异常的解决办法
- .Net中使用组件后发生System.ArithmeticException异常的解决办法
- .NET 使用 ODP.NET 组件访问Oracle提示 外部组件发生异常 错误的解决办法
- 求救!!!各位大哥帮帮忙!未处理的“System.ArithmeticException”类型的异常出现在 system.drawing.dll 中.
- .net 开发使用office组件后,IIS中部署出现无法访问的解决办法
- 内存泄漏之CFormView 中使用 OLE (或 .net com) 控件后发生内存泄漏
- 使用json发生java.lang.NoClassDefFoundError: net/sf/json/JSONObject异常的解决办法
- 使用json发生java.lang.NoClassDefFoundError: net/sf/json/JSONObject异常的解决办法
- 使用json发生java.lang.NoClassDefFoundError: net/sf/json/JSONObject异常的解决办法
- 使用json发生java.lang.NoClassDefFoundError: net/sf/json/JSONObject异常的解决办法
- .NET编程中使用旧有的COM组件
- 使用regasm注册.net com组件出现不是有效的.net程序集的解决办法
- SocketException类型的未处理异常在System.dll中发生
- 在COM应用程序中使用.NET组件
- 在COM应用中使用.NET组件
- 在COM应用中使用.NET组件
- 在COM应用中使用.NET组件
- NET中使用非托管COM组件
- 太阳底下~
- java.lang.SecurityException翻译
- J2SE5.0实例---注释(annotation)
- 工作人
- Using JavaScript Along with ASP.NET
- .Net中使用com组件后发生System.ArithmeticException异常的解决办法
- 路由器初始配置向导
- ActiveMQ configuration
- 《学生成绩管理系统》算是复习VB
- Struts中国际化的简单例子
- CMP Media’s Software Development Magazine Announces Winners for the 15th Annual Jolt Product Excellence & Productivity Awards
- Struts简单实例
- java Vector.toArray 与强制类型转换
- Oracle序列