T
tumanovalex
Считываю данные short из файла 29 мб и затем вывожу их на график:
В строке s.Points.AddXY(i, data) возникает ошибка: "An unhandled exception of type 'System.OutOfMemoryException' occurred in System.Windows.Forms.DataVisualization.dll. Вроде бы файл не такой огромный. На компьютере в разделе Система размер ОЗУ оценивается как 3 gb и доступно 2,7 gb. Подскажите, пожалуйста, как исправить программу. Проект (без файла данных) прилагаю, файл данных 29 мб разместил на
C++:
private void file_read(string file_name)
{
try
{
reader = new BinaryReader(new FileStream(file_name, FileMode.Open, FileAccess.Read, FileShare.Read));
}
catch (FileNotFoundException e)
{
MessageBox.Show(e.Message.ToString(), "Ошибка!!!", System.Windows.Forms.MessageBoxButtons.OK,
System.Windows.Forms.MessageBoxIcon.Error);
Environment.Exit(1);
}
long file_size = reader.BaseStream.Seek(0, SeekOrigin.End);
num_elem = file_size / sizeof(Int16);
reader.BaseStream.Seek(0, SeekOrigin.Begin);
data = new short[num_elem];
for (int i = 0; i < num_elem; i++)
{
data[i] = reader.ReadInt16();
}
reader.Close();
}
private void file_show(Int16[] data)
{
s = new Series("Sources");
s.ChartType = SeriesChartType.Spline;
s.Color = Color.Red;
for (long i = 0; i < num_elem; i++)
{
s.Points.AddXY(i, data[i]); // Ошибка
}
chart1.Series.Add(s);
chart1.Visible = true;
chart1.Show();
this.Refresh();
}
Ссылка скрыта от гостей