no0bler007
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Здравствуйте! Вопрос по компоненту TeeChart 4.04 (стандартый в Delphi). Программа связана с моделирование процессов системы, необходимо вывести в виде графиков состояния всех транзактов в завистимости от времени. При заданых условиях выводится в среднем 6000 графиков. На новом цикле моделирования необходимо удалить все Series. Проблема в следующем - при удалении Series вылазит ошибка: Код: exeption class EListError with message 'List index out of bounds (2997)' | Гафики создаю следующим кодом: Код: procedure TMyModel.Graph; const Colors: array[0..15] of Integer = (clBlack, clMaroon, clGreen, clOlive, clNavy, clPurple, clTeal, clGray, clSilver, clRed, clLime, clYellow, clBlue, clFuchsia, clAqua, clWhite); var ... Series: TLineSeries; begin ... buf := ListTrans^.First; while buf <> nil do begin .... Series := TLineSeries.Create(nil); Series.Clear; Series.Title := IntToStr(tr.Number); Series.ParentChart := FormMain.Chart1; Series.SeriesColor := Colors[random(15)]; Series.Pointer.Visible := true; Series.Pointer.Style := psCircle; Series.Pointer.HorizSize := 3; Series.Pointer.VertSize := 3; Series.Marks.Visible := true; Series.Marks.Transparent := true; Series.Marks.Style := smsLabel; Series.Marks.Frame.Visible := false; .... //заполнение точек методом AddXY buf := buf^.Next; end; end; | Удаляю Series следующим кодом: Код: for i := 0 to Chart1.SeriesCount - 1 do begin Chart1.Series[i].Free; end; | Понятно, что такой индеск Series не существует. При вызове метода Clear вместо Free ошибки не происходит, но так не очищается память. Вроде все что нужно для понятия проблемы описал.Надеюсь на скорейшее решение. | Всего записей: 3 | Зарегистр. 26-10-2008 | Отправлено: 11:34 08-01-2009 | Исправлено: no0bler007, 11:38 08-01-2009 |
|