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

Вниз

Динамические массивы. Плохо всё.   Найти похожие ветки 

 
Mihey ©   (2003-07-02 23:26) [0]

Вот код, причатсный к делу:

type TTankData = record
Coord: TPoint;
Index: Integer;
Strength: Integer;
end;

Tanks: array of TTankData;

procedure LoadTankPositions;
begin
Tanks[1].Coord.x := 100;
Tanks[1].Coord.y := 100;
Tanks[1].Index := 1;
end;

procedure CreateTankEngine;
begin
TankCount := 1;
SetLength(Tanks, 1);
LoadTankPositions;
end;

Я так полагаю, что больше ничто не влияет. И вот этот код по завершении программы вызывает AV. Что делать? Причём, если убрать LoadTankPositions, то AV не вызывается.


 
Mihey ©   (2003-07-02 23:38) [1]

И вы знаете, что самое плохое - я сейчас этот код выполнил в другой программе, просто скопировал вот это, что написал, и выполнил - и всё нормально.

В общем, проблемы, я подозреваю, с динамическим массивом, но что конкретно - увы, не хватает опыта.


 
Makhanev A.S. ©   (2003-07-02 23:39) [2]

Нумераци в массивах обычно с нуля, т.е. при Length=1 :

procedure LoadTankPositions;
begin
Tanks[0].Coord.x := 100;
Tanks[0].Coord.y := 100;
Tanks[0].Index := 1;
end;


 
Mihey ©   (2003-07-02 23:52) [3]

Вот тут то я и дошёл. Вот сейчас увеличил на единицу массив и всё запахало. Блин, такой ньанс. Типа, SetLength устанавливает не верхнюю границу, а количество элементов.


 
Mihey ©   (2003-07-02 23:52) [4]

Спасибо, вопрос исчерпан.



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
1-55560
SkyRanger
2003-07-04 08:35
2003.07.17
Бинарное дерево


8-55670
pheonix
2003-03-27 06:02
2003.07.17
skin на delphi


1-55527
Cranium
2003-07-04 21:40
2003.07.17
Простой вопрос о TreeView


14-55793
AlexRush
2003-06-30 20:31
2003.07.17
Алгоритмы необратимых HASH-функций


14-55781
yaJohn
2003-06-30 16:21
2003.07.17
В инет по левому шнурку