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

Вниз

Проблема с динамическим массивом   Найти похожие ветки 

 
Array   (2003-03-08 23:33) [0]

Рисую на форме график с помощью PolyBezier, перед этим создаю массив с помощью SetLength, где указываю количество точек.
Первый раз рисуется нормально но при повторном получается ошибка EAccesViolation... , при попытке обнуления массивва(Array:=nil, Finalize(array)...) таже ситуация.
Вот такая вот проблема :(


 
Anatoly Podgoretsky ©   (2003-03-08 23:37) [1]

Ошибка в 17 строке


 
Array   (2003-03-08 23:39) [2]

Что за 17 строка!
При чем тут строки :)


 
Anatoly Podgoretsky ©   (2003-03-08 23:45) [3]

Там ошибка


 
Array   (2003-03-08 23:48) [4]

Можно поподробнее. Что за 17 строка(в моем вопросе русский хромает?, или вы на расстоянии видите мой исходник?:)


 
Anatoly Podgoretsky ©   (2003-03-09 00:04) [5]

Ну ты посмотри внимательнее


 
Array   (2003-03-09 00:09) [6]

В моем сообщении всего 4 строки.
Я уже начинаю считать это издевательством, я за советом обратился, а не для того, чтобы кто-то тыкал меня носом, так что или говори в чем дело или не засоряй эфир :)


 
Anatoly Podgoretsky ©   (2003-03-09 00:11) [7]

А при чем тут сообщение, речь про твою программу.


 
MAN-In-RED ©   (2003-03-09 00:15) [8]

EAccesViolation вылетает только из-за 17-й строки...
Разбирайся, и еще исходник дай сюда. Кстити, можно просто очистить эту строку, и все будет ОК, я так и делал.


 
Array   (2003-03-09 00:16) [9]

Ладно продолжим...

procedure TGraphGrid.DrawGraph;
var
deg:real;
x,i:integer;
begin
deg:=0;
x:=0;
SetLength(pArray, Fdx);
Form.Canvas.Pen.Style:=psSolid;
Form.Canvas.Pen.Color:=clBlue;
Form.Canvas.MoveTo(0,200);
for i:=0 to Fdx do begin //Fdx кол-во точек
pArray[i].Y:=trunc(10*cos(deg));
parray[i].X:=x;
deg:=deg+0.1;
inc(x);
end;
Form.Canvas.PolyBezier(pArray);
Finalize(pArray);
end;

И в чем ошибка?


 
Anatoly Podgoretsky ©   (2003-03-09 00:23) [10]

Вот она 17 строка

for i:=0 to Fdx do begin //Fdx кол-во точек


Нормальные пацаны пишут так

for I := low(pArray) to High(pArray) do begin



 
Array   (2003-03-09 00:26) [11]

У меня она далеко не 17, ну да ладно каждый считает по своему.
Спасибо за совет.


 
Anatoly Podgoretsky ©   (2003-03-09 00:27) [12]

Ну подумаешь, немного ошибся


 
Array   (2003-03-09 00:32) [13]

Да немного у меня она 133 :)


 
Palladin ©   (2003-03-09 01:03) [14]


> Array (09.03.03 00:32)

много ты понимаешь в 17 строке...


 
Array   (2003-03-09 22:30) [15]

Ну объясните мне, ламеру, что за 17 строка!!!


 
Anatoly Podgoretsky ©   (2003-03-09 23:04) [16]

Array (09.03.03 22:30)
http://podgoretsky.pri.ee/cgi-bin/dlcounter/npscnt?file=http://podgoretsky.pri.ee/ftp/Language/nps/idioms.html&file_id=idioms



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

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

Наверх




Память: 0.49 MB
Время: 0.018 c
3-64007
AlexanderSK
2003-02-28 17:18
2003.03.20
Сервер на базе WebSnap (Midas)


3-64052
Stenkz
2003-03-03 07:40
2003.03.20
Сравнение с nil??? Как узнать, что в поле вообще несодер. значие


1-64125
GrayWolf
2003-03-10 22:16
2003.03.20
Корректная выгрузка DLL


14-64302
~
2003-03-03 14:10
2003.03.20
Банальная, в общем-то идея по развитию проекта


3-64033
Aramis
2003-03-02 16:53
2003.03.20
Работа с Clipper-овскими индексами NTX