Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
3-55425
Relaxxx
2003-06-24 10:24
2003.07.17
Как выделить ВСЕ строки в DBGrid


1-55574
С.Василий
2003-07-02 18:03
2003.07.17
Как считывая данные из Excel определить...


14-55726
paxer
2003-07-02 14:52
2003.07.17
Нужен компонент ввода даты с возможностью ввода пустого значения


6-55702
S. M.
2003-05-12 17:21
2003.07.17
запрос HTML


14-55778
tipman
2003-06-29 20:36
2003.07.17
File Of PChar - глюк системы, компилятора или........?!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский