|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.03.2010, 19:02 | #1 |
Новичок
Джуниор
Регистрация: 19.04.2007
Сообщений: 2
|
Как виделить большой кусок памяти под массив?
Надо динамически выделить память под массив
fltarr: array of double; так чтоб там поместилось сотни тисяч элементов. function GetMem ( var StoragePointer : Pointer; StorageSize : Integer ) У меня StorageSize виходит за рамки integer. |
23.03.2010, 20:05 | #2 |
Форумчанин
Регистрация: 02.04.2009
Сообщений: 235
|
Кроме типа Integer в delphi: cardinal, double, extended, int64. Может у них найдуться те самые сотни тысяч?
Всё гениальное - просто!
|
23.03.2010, 21:21 | #3 |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
Если не ошибаюсь, то GetMem больше 64 кб выделить не может (сильно не ругайте, тк в какой версии не помню, но было такое). А вабще выделяю память GlobalAllocPtr. DWORD увеличит примерно в двое допустимый диапазон.
|
07.04.2010, 04:11 | #4 |
Delphi, OpenGL API
Форумчанин
Регистрация: 29.03.2010
Сообщений: 152
|
На сколько мене память не изменяет, в Delphi GetMem применяется к поинтерам. Для вашего же динамического массива необходима процедура SetLength(fltarr{ваш массив}, Length{длина});.
Здесь длина в количестве елементов массива, а не в байтах, как в GetMem. Если вам нужно выделить сотни тысяч елементов то Length попробуйте взять Cardinal, Longword или самый бльшой Int64. Вот собственно и все. Последний раз редактировалось Miha85193; 07.04.2010 в 04:19. |
07.04.2010, 07:45 | #5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Если не секрет а зачем такой огромнейший массив понадобился?
I'm learning to live...
|
07.04.2010, 10:47 | #6 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
А вы у кого спрашиваете? Последняя активность Тани на форуме - 23.03.2010 19:02
Так что мы этого уже наверное никогда не узнаем
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
10.04.2010, 17:50 | #7 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
Возможно для шифрования методом RSA
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
|
23.04.2010, 01:53 | #8 |
Заблокирован
Регистрация: 11.12.2009
Сообщений: 133
|
setlength(fltarr,100000)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамическое выделение памяти под массив объектов со специализированным конструктором | capta1n | Общие вопросы C/C++ | 6 | 07.03.2010 16:01 |
Высвобождение памяти из под указателей | Gypsy | Общие вопросы Delphi | 4 | 27.01.2010 13:53 |
В конструкторе выделяется память под массив. Как быть с перегрузкой оператора = ? | TwiX | Общие вопросы C/C++ | 6 | 15.12.2009 12:18 |
Динамическое выделение памяти под массивы | Артем125 | Общие вопросы C/C++ | 4 | 07.04.2009 09:52 |
как отсортировать массив под данный отрезок и как минимум и максимум из него найти | SIEGER | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 20.11.2008 08:58 |