|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.06.2010, 08:44 | #1 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
GetMem
Как можно с помощью процедуры выделить память больше 65536 байт?
И ещё: у меня есть объект Код:
|
20.06.2010, 10:19 | #2 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
а зачем надо под ДОСом такое?может лучше в Win32? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
20.06.2010, 10:48 | #3 | |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Цитата:
|
|
20.06.2010, 11:24 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
например, в нем.
просто стоит помнить о том что такое ДОС. если вам нужно чтото типа массива, то можно применить списки. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
20.06.2010, 11:36 | #5 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
А в Delphi один сегмент сколько?
|
20.06.2010, 11:46 | #6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Там нет сегментов... Там плоские 4 Гб.
|
20.06.2010, 19:19 | #7 |
Форумчанин
Регистрация: 16.08.2008
Сообщений: 276
|
Тип данных вы не можете поместить в память. Видимо имеется ввиду переменная типа TObject? Там все как с обычными типами данных.
Код:
Обрисую как я вижу решение этой проблемы: Способ 1 (более быстрый, но имеет ограничения): на самом деле у вас массив не типа TObject а типа pointer и содержит указатели на ячейки типа TObject. Способ простой, но можно записать только 16 776 704 элемента (на мой взгляд вполне достаточно практически для любых задач) Способ 2 (медленный, но обходит предыдущее ограничение) создаем тип данный (как у вас в примере), но в нем реализуем очередь. Обращение к нужной ячейке реализуется через метод (допустим GetElement), который возвращает указатель на нужный нам элемент массива (просто в for-е переходим по элементам очереди, до тех пор пока она не закончится (нет элемента с таким индексов) либо пока не закончится выполнение for-а (элемент найден)). Вот как-то так
Искусственный интеллект - фигня по сравнению с естественной глупостью
Последний раз редактировалось Impuls1989; 20.06.2010 в 19:21. |