Главная страница
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.02 c
3-89718
Zai
2003-11-10 10:26
2003.11.27
ClientDataSet в FIBPlus


14-90103
PavelSin
2003-11-04 10:40
2003.11.27
Просмоторщик дайджестов


1-89992
AnSo
2003-11-10 20:17
2003.11.27
TForm.Print


1-89873
mc_duck
2003-11-16 00:45
2003.11.27
Обращение к объекту по строке-имени.


8-90011
[BAD]Angel
2003-07-31 13:40
2003.11.27
Вопрос по изображению