0

.NET C# のアプリケーションに Steema の TeeChart ActiveX 5 コンポーネントを使用しています。

Line()メソッドを使用して、コンポーネントの " " プロパティをRectangle()介しCircle()ていくつかの描画を行います。Canvas

描画用の私のコードは、コンポーネントのすべてOnBeforeDrawSeries()OnAfterDraw()イベントで呼び出されます。

図面が少ない場合は問題なく動作します。しかし、描画の量が増え、一定回数再描画した後、 「 Canvas では描画が許可されていませんMessageBox」というエラーが表示され、アプリケーションが終了します。

これは、描画呼び出しでコンポーネントを「オーバーロード」したことが原因だと思います。

この機能を間違った方法で使用していますか、それともコンポーネントのバグと見なすことができますか?

4

1 に答える 1

1

このコンポーネントとメモリの管理方法に (Canvas ではなく) 同様の問題があるため、これをバグと考えます。

少量の RAM を搭載した一部のマシンで、大量のグラフを作成して表示すると、「このコマンドを処理するのに十分なストレージがありません」というメッセージ ボックスが表示されます。このボックスが表示されると、[OK] をクリックするとメッセージ ボックスが何度も表示されるため、このボックスを閉じることはできません。そのため、アプリケーションを強制終了して、それを乗り越える必要があります。メッセージボックスを閉じると、コンポーネントがメッセージボックスが表示されていた領域を再描画しようとし、エラーが再び発生するため、バグは描画プロセスに関連していると思います。

まず、TeeChart ActiveX が現在バージョン 8 であることを知っています。このバージョンでこの問題が解決される可能性があります。

.NET バージョンの TeeChart も試してみることをお勧めします。私自身の経験から、メモリは .NET フレームワークによって管理されるため、TeeChart .NET にはメモリの問題はありません。

于 2008-09-18T01:59:33.663 に答える