0

我将 Steema 的 TeeChart ActiveX 5 组件用于 .NET C# 中的应用程序。

我使用这些方法做一些绘图Line()Rectangle()Circle()通过Canvas组件的“”属性。

我的绘图代码在组件的每个事件OnBeforeDrawSeries()OnAfterDraw()事件上都被调用。

当只有几张图纸时,它工作正常。但是当绘制量增加并且在一定数量的重绘之后,我得到MessageBox一个错误“画布不允许绘图”并且应用程序退出

我相信这在某种程度上是由于绘图调用“重载”了组件。

我是否以错误的方式使用此功能,或者我可以认为这是组件中的 BUG?

4

1 回答 1

1

我会认为这是一个错误,因为我在这个组件和它管理内存的方式上有一个类似的问题(不是 Canvas)。

在一些具有少量 RAM 的机器上,当我们创建大量图形并显示它们时,我们将收到一个消息框,其中包含此消息“没有足够的存储空间来处理此命令”。一旦出现此框,就无法关闭此框,因为如果单击“确定”,则会一次又一次地显示该消息框。所以,你需要杀死应用程序才能驾驭它。我认为该错误与绘制过程有关,因为当我们关闭消息框时,组件会尝试重新绘制显示消息框的区域并且再次发生错误。

首先,您知道 TeeChart ActiveX 现在是第 8 版。也许这个版本可以解决这个问题。

我还建议尝试 .NET 版本的 TeeChart。根据我自己的经验,TeeChart .NET 没有任何内存问题,因为内存是由 .NET 框架管理的。

于 2008-09-18T01:59:33.663 回答