Форум: "Основная";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];
Вниз
Баг Chart а или что? Найти похожие ветки
← →
rolex (2005-11-03 22:54) [0]Если задать координату Y вылетает Error Access Violation...
Ставлю точки в Charte функцией Series1.AddXY, но если координата Y "большое" число (к примеру у меня 5000) - вылетает ошибка.
К примеру, вот код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Series1.Clear;
Form1.Series1.AddXY(StrToFloat("1"),StrToFloat("5000"),"",clGreen);
end;
Вылетает ошибка.
Прошу помощи.
← →
gdaujk © (2005-11-04 05:23) [1]Что за ошибка-то вылетает?
PS: Я обычно обращаюсь к линиям чарта не через Series, а сл. образом (выш случай):
procedure TForm1.Button1Click(Sender: TObject);
begin
Chart.Series[НОМЕР_ЛИНИИ].Clear;
Chart.Series[НОМЕР_ЛИНИИ].AddXY(X, Y, ЦВЕТ);
end;
Может так правилнее...
← →
gdaujk © (2005-11-04 05:34) [2]Series1 - это TLineSeries. В справке же по TChart сказано, что AddXY - метод TChartLine, то есть обращаться наверное нужно именно к Chart.Series[НОМЕР_ЛИНИИ], который и является TChartLine.
← →
gdaujk © (2005-11-04 06:06) [3]Дело совсем не в разнице TLineSeries и TChartLine. Сделай так:
procedure TForm1.Button1Click(Sender: TObject);
begin
Series1.Clear;
Chart.LeftAxis.Increment := ЧИСЛО_БОЛЬШЕ_НУЛЯ;
Series1.AddXY(StrToFloat("1"),StrToFloat("5000"),"",clGreen);
end;
</COD E>
Chart - твой чарт, ЧИСЛО_БОЛЬШЕ_НУЛЯ - число больше нуля :-), я брал 0,2, и у меня всё выходило. Можно взять и большее число. Изначально оно равно нулю. Можно менять Increment и не в Run Time, задав его в настройках TChart"а;
← →
Kolan © (2005-11-04 09:54) [4]Это глюк чарта. У меня было не раз. Для меня приемлемо было поделить число на 1000...
← →
rolex (2005-11-04 11:03) [5]Добавил:
Chart.LeftAxis.Increment := 1;
Всё заработало. А что это за свойство Chart.LeftAxis.Increment ? Что оно меняет?
← →
gdaujk © (2005-11-04 12:49) [6]Increment - это минимальный шаг между двумя засечками-подписями на оси. Если для размещения подписей через этот шаг места не хватает, TChart вычисляет больший, допустимый шаг. С помощью него можно регулировать величину ячеек сетки.
PS: Я не переводчик, хоть иногда заглядывайте в справку...
← →
Tonich © (2005-11-04 13:11) [7]что-то вы гоните, я на чарте откладывал сависимость одного параметра от юлианской дата. И юлианские даты были больше чем на 2 порядка ваших 5000 тысяч и нифига
← →
gdaujk © (2005-11-04 13:38) [8]Tonich
Попробуй запуститьprocedure TForm1.Button1Click
в моём варианте, но с Chart.LeftAxis.Increment := 0 и значением по этой оси 5000, и тебе всё станет ясно...
PS: у меня вылетала ошибка уже при 1800...
← →
lookin © (2005-11-04 18:25) [9]В пустую серию можно добавить точку 0,0, потом нужную (с любой координатой), потом удалить точку 0,0. Кажется, этот баг я обхожу именно так...
← →
rolex (2005-11-04 21:45) [10]
> lookin © (04.11.05 18:25) [9]
> В пустую серию можно добавить точку 0,0, потом нужную (с
> любой координатой), потом удалить точку 0,0. Кажется, этот
> баг я обхожу именно так...
Я это тоже заметил. Но я не понял как удалить точку, может ты знаешь?
← →
lookin © (2005-11-04 22:34) [11]Series.Delete(0)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.103 c