码迷,mamicode.com
首页 > 其他好文 > 详细

WPF引用OCX导致的算术运算符溢出

时间:2014-05-10 08:15:53      阅读:486      评论:0      收藏:0      [点我收藏+]

标签:winform   code   ext   c   http   int   

原文链接http://www.ilisen.net/wpf-references-ocx-causes-an-arithmetic-operator-overflow.html

这个问题其实原因在于OCX控件与WPF类型的一些不匹配。

之前,我在我的项目里面,通过winform控件承载ocx,然后通过中 间生成的DLL来达到引用OCX的目的。一般情况下,这种方法是比较方便而且有效的(之前也是使用的这种方法),后来发现OCX报这个异常之后,不能再通 过这种方式引用了(其实方法还是这个方法,只不过稍微改变一下)。

首先,我们还是通过winform控件承载OCX,不过我们在这里面需要调用一下系统的API【msvcr71.dll】,具体方法如下:

[code lang="csharp"] [DllImport("msvcr71.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int _fpreset();[/code]

然后我们在初始化完控件之后,调用这个方法如下:

[code lang="csharp"] SoftAgent = new AxSoftAgent.AxSoftAgentBar();
((System.ComponentModel.ISupportInitialize)(this.SoftAgent)).BeginInit();
this.Controls.Add(SoftAgent);
((System.ComponentModel.ISupportInitialize)(this.SoftAgent)).EndInit();
_fpreset();[/code]

然后将你需要调用的方法或者事件封装到这个类里面,然后引用这个控件生成的DLL,在调用方法、事件,这样就不会再报XX发生溢出(XXX OVERFLOW)的错误了。

[box]这个地方需要使用msvcr71.dll,如果没有,可以到网上下载,64位win7放到X:\Windows\SysWOW64[/box]

 

WPF引用OCX导致的算术运算符溢出,布布扣,bubuko.com

WPF引用OCX导致的算术运算符溢出

标签:winform   code   ext   c   http   int   

原文地址:http://www.cnblogs.com/ilisen/p/3719204.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!