![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Массив больше 1 Мб???
boalse © (2005-03-10 09:18:00)Объявляю массив, например:
A: array [1..49] of TMyType;
Где TMyType созданный мною тип данных размером, 21 038 байт, итого размер массива A получается 1006,7 Кбайт. Если задать верхнюю гарицу на 1 меньше, т.е. 48, общий размер A получится 986,1 КБайт. Так вот, в первом случае программа после каких-либо действий (не пойму после каких конкретно) с массивом А, может закрыться даже ничего не сообщив об ошибке, а во втором случае всё работает нормально. Неужели всё дело в размере массива?
KSergey (2005-03-10 13:40:00) [1]Билдом перекомпилируются все файлы проекта
сомпиляцией - только те, что изменились (по мнению среды) и связанные с ними. Иногда она ошибается (при сложных взаимосвязях). Иногда (как здесь) не считает, что в файлах произошли изменения.
Erik1 (2005-03-10 13:34:00) [2]Сама коимпиляция по Ctrl+F9 ничем неотличается от билд, возможно есть отличия какие файлы компилируются.
BoAlSe (2005-03-10 12:50:00) [3]> Да. не забыть после этого перебилдить
Кстати, давно хотел спросить, чем отличаестя билд от простой компилляции? Можно ли просто Ctrl+F9 или нужно обязательно билдить проект?
Erik1 (2005-03-10 12:32:00) [4]При размере элемента в 21 038Кб стоит использовать TList который тоже в пинципе похож на масив.
KSergey (2005-03-10 10:57:00) [5]в свойисвах компилера поставить range checked
Скорее всего есть ошибка обращения за границу массива.
KSergey (2005-03-10 10:57:00) [6]Да. не забыть после этого перебилдить
Ozone (2005-03-10 10:00:00) [7]> hoap=> heap
Ozone (2005-03-10 09:55:00) [8]
> [8] boalse © (10.03.05 09:43)
А надо бы. Хотя если ты динамический массив используешь, то править нужно размер hoap-памяти.
boalse (2005-03-10 09:43:00) [9]Да я с таким уже много раз встречался. Создаю динамический (глобальный) массив, засовываю туда объекты, например ботов, когда игру делал. Как только размер массива переваливается за какой-то предел, начинаются глюки. Я уже подобный вопрос задавал, сказали что руки кривые, но не до такой же степени!
boalse (2005-03-10 09:43:00) [10]Размер стека пока не проверял, нет возможности.
Anatoly Podgoretsky (2005-03-10 09:40:00) [11]А размер стека у тебя достаточный?
boalse (2005-03-10 09:36:00) [12]
> jack128 © (10.03.05 09:22) [1]
переменная локальная??
Переменная локальней некуда.
Antonn (2005-03-10 09:25:00) [13]А в чем?
Тоже заинтересовал вопрос, т.к. имел похожую проблему, но не знал, откуда ошибка вылазит.
jack128 (2005-03-10 09:22:00) [14]переменная локальная?? Тогда может и в массиве дело.. Увеличь максимальный размер стека Project/Options/Linker/Max stack size
КаПиБаРа (2005-03-10 09:22:00) [15]boalse © (10.03.05 9:18)
Неужели всё дело в размере массива?
Нет.
Anatoly Podgoretsky (2005-03-10 09:22:00) [16]Дело не в бобине.