Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.27;
Скачать: CL | DM;

Вниз

Графики через массив...   Найти похожие ветки 

 
Софейков Костя ©   (2003-11-13 18:00) [0]

Народ у меня проблема.У меня есть две формы,одна из которых родительская,а вторая её потомок.На форме-потомке стоит компонент Char.А на родительской форме строятся графики через массив.А на чаре мне нужно отобразить эти же самые графики,через тот же массив,что я и пытаюсь сделать.Но когда я запускаю проект на исполнения,всё идёт хорошо,но когда создаю вторую форму,она выдаёт ошибку: Acsess Violation или что то вроде того.Так вот вопрос:может ли идти этот глюк оттого что один и тотже массив используется в двух модулях одновременно?Если этот глюк из-за одного и тогоже массива,то как объявить этот массив,чтоб без глюков.Привожу код построения графиков в ЧАРЕ
for i:=1 to 20 do begin
Iv1[i]:=(i+10) div 2;
end;
a:=0;
b:=0;
Canvas.MoveTo(a,b);
for i:=0 to 20 do begin
Iv1[i]:=10;
Application.ProcessMessages;
ChildForm.Char1.Series[1].AddXY(0,0);
ChildForm.Char1.Series[1].AddXY(i+1+a,-Iv[i+1]+b);
end;


 
Silver Alex ©   (2003-11-13 18:15) [1]


> У меня есть две формы,одна из которых родительская,а вторая
> её потомок

наследование? или просто вторая вызывается из первой?


 
Silver Alex ©   (2003-11-13 18:18) [2]


> Так вот вопрос:может ли идти этот глюк оттого что один и
> тотже массив используется в двух модулях одновременно?

точно нет, но лучше было бы вынести в отдельный модуль, ну типа MainConst.pas и там все таки глобальные вещи хранить. и вообще подробнее бы все


 
han_malign ©   (2003-11-13 18:21) [3]

поподробней

for i:= 1 to 20 do begin
Iv1[i]:=(i+10) div 2;
end;
a:=0;
b:=0;
Canvas.MoveTo(a,b);
for i:= 0 to 20 do begin
Iv1[ i]:=10;
Application.ProcessMessages;
ChildForm.Char1.Series[1].AddXY(0,0);
ChildForm.Char1.Series[1].AddXY(i+1+a,- Iv[ i+1]+b);
end;


 
Silver Alex ©   (2003-11-13 18:41) [4]


> for i:=1 to 20 do begin

лучше конечно for i:=low(Iv1) to high(Iv1), я так понял Iv1 это массив


 
Софейков Костя ©   (2003-11-13 21:02) [5]

не один из предложеных вариантов не работает,глюк не исчезает...


 
UDS   (2003-11-13 22:19) [6]

по-моему это не вариант, по-моему тебе показали где у тебя в коде ошибка и если ты его просто поменял ясен перец, что она не исчезнет(ошибка-глюк)
for i:=1 to 20 do begin
Iv1[i]:=(i+10) div 2;
end;
a:=0;
b:=0;
Canvas.MoveTo(a,b);
for i:=0 to 20 do begin
Iv1[i]:=10;
Application.ProcessMessages;
ChildForm.Char1.Series[1].AddXY(0,0);
ChildForm.Char1.Series[1].AddXY(i+1+a,-Iv1[i+1]+b); // в этой строке был косяк
end;


 
Софейков Костя ©   (2003-11-14 10:24) [7]


> ChildForm.Char1.Series[1].AddXY(i+1+a,-Iv1[i+1]+b); //
> в этой строке был косяк

какой именно?


 
Софейков Костя ©   (2003-11-17 15:01) [8]

Ну помогите!!!


 
alexteam ©   (2003-11-17 15:02) [9]

Iv1[i+1]<-
если у тебя ровно 20 єлементов масива то при i:=20 будет предпринята попытка вызвать 21-й элемент



Страницы: 1 вся ветка

Текущий архив: 2003.11.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
3-89771
Евгений Т.
2003-11-06 12:58
2003.11.27
Запись в dbf-таблицу БД на ACCESS


1-89811
Antonsv
2003-11-13 13:53
2003.11.27
замена байтов по адресам


14-90101
чайник
2003-11-04 14:53
2003.11.27
Windows XP


14-90057
Denis_Ac
2003-10-31 08:58
2003.11.27
Вот Интересно стало


3-89749
ST_
2003-11-07 22:02
2003.11.27
DBCtrlGrid