|
分類:[C#]
VS2010 C# を使用しています
chartでグラフ表示中にたまに例外処理が発生します たまにとは、50〜1500回に一度です
エラー内容 chart1.Series = 'chart1.Series' は、型 'System.NullReferenceException' の例外をスローしました。 base {System.SystemException} = {"オブジェクト参照がオブジェクト インスタンスに設定されていません。"}
chartの使い方がまずいのだと思うのですが、何が悪いのかよくわかりません すみませんが、ご教授願います
実行内容 1.メインフォームのボタンを押すと子フォームを8個立ち上げます 2.子フォームでそれぞれイーサネットでデータを受信(非同期) 3.受信したデータをテキストファイルに保存、グラフ表示 4.2、3を繰り返し
どこを抜粋してよいかわからず長くなり申し訳ありません 子フォームプログラム public partial class Graph0 : Form { Series series1 = new Series("X:Stroke[mm] Y:Press[kN]"); private void Graph0_Load(object sender, EventArgs e) { plot_ini(); plot(); // ワーカースレッドの作成と開始 work = new System.Threading.Thread(DoWork); work.Start(); } public void DoWork() { // リスナーを作成する server = new TcpListener(IPAddress.Any, 1001); server.Start(); while (true) { // データ受信 TcpClient client = server.AcceptTcpClient(); //受信処理省略 plot_clear(); client.Close(); data_input(); //受信データを配列に data_save(); //受信データをテキストファイルで保存 veiw_results(); //受信データの一部をリストビューで表示 plot(); } } public void plot_ini() //chart初期設定 public void plot_clear() { series1.Points.Clear(); chart1.Series.Clear(); listView1.Clear(); } public void plot() //グラフ表示 { try { for (int i = 0; i < graph_data_count; i++) { series1.Points.AddXY(double.Parse(data_x[i]), double.Parse(data_y[i])); } chart1.Series.Add(series1); } catch (Exception ex) { System.Console.WriteLine(ex.Message); //例外処理発生 } }
|