Текущий архив: 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.46 MB
Время: 0.012 c