Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
4-1128415767
AngelFire
2005-10-04 12:49
2005.12.04
Перехват ввода


2-1132206933
markers
2005-11-17 08:55
2005.12.04
Рабочий стол


2-1131885148
John Doe
2005-11-13 15:32
2005.12.04
Реестр,значение ключа по умолчанию


14-1131755214
Мазут Береговой
2005-11-12 03:26
2005.12.04
Белорусская ОС - альтернатива Windows


14-1131451694
VEZ
2005-11-08 15:08
2005.12.04
SpinEdit &amp; StringGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский