Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2010, 23:53   #1
Bagirli
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 28
По умолчанию Максимальное использования оперативной памяти

С помощью "SetLength" добавляю в массив строку из 25 символов. После того как в массив добавляется около 35000 элементов появляется сообщение "Out of memory". Невозможно ли добавить больще элементов? Имеется 2 GB RAM
Bagirli вне форума Ответить с цитированием
Старый 24.01.2010, 00:04   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Как массив объявлен ?
mihali4 вне форума Ответить с цитированием
Старый 24.01.2010, 00:08   #3
Bagirli
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 28
По умолчанию

Massiv: array of string;
Bagirli вне форума Ответить с цитированием
Старый 24.01.2010, 00:34   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
AnsiString ~2^31 characters 4 bytes to 2GB (8-bit (ANSI) characters)
Я думаю, что это естественно.
Если длина строки не превышает 255 символов, то объявите так:
Код:
Massiv: array of ShortString;
psycho-coder вне форума Ответить с цитированием
Старый 24.01.2010, 00:35   #5
Bagirli
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 28
По умолчанию

Пробовал такую ситуацию тоже:
1) с помощью разнообразных других программ расходую большую часть памяти, после чего пускаю свой экещник;
2) меняю компютер, на котором 512 Mb RAM;
Добавляются такое же количество записей.
Bagirli вне форума Ответить с цитированием
Старый 24.01.2010, 00:47   #6
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Что то меня терзает смутное сомнение, что дело в типе переменной (при SetLength(Massiv, <var>)).

апд
У меня получилось вылезти за границы только так:
Изображения
Тип файла: jpg da.JPG (65.7 Кб, 168 просмотров)

Последний раз редактировалось mihali4; 24.01.2010 в 01:35.
psycho-coder вне форума Ответить с цитированием
Старый 24.01.2010, 01:03   #7
Bagirli
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 28
По умолчанию

Спасибо большое, psycho-coder! Вы правильно думаете. Я проверью еще некоторые моменты и сообщу ВАМ.
Bagirli вне форума Ответить с цитированием
Старый 24.01.2010, 08:13   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

http://programmersforum.ru/showthrea...791#post437791

думаю поможет
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 24.01.2010, 09:15   #9
maxionans
Форумчанин
 
Аватар для maxionans
 
Регистрация: 02.01.2010
Сообщений: 254
По умолчанию

это тоже может помочь

http://programmersforum.ru/showthread.php?t=81264
maxionans вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ремонт оперативной памяти. С.М.С Компьютерное железо 6 06.06.2009 17:20
Оптимизация использования оперативной памяти Lkhasa Общие вопросы Delphi 4 04.07.2008 15:22
Текстирование оперативной памяти arxipmen Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 23.11.2007 14:30
Кол-во оперативной памяти Квэнди Win Api 2 25.07.2007 13:27
выделение оперативной памяти Alar Общие вопросы Delphi 0 29.10.2006 21:56