Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Heap

4.8K
25 июля 2004 года
Холодильник
17 / / 17.03.2004
Всем привет!

Имеется следующий код

<CODE>
Memory:=HeapCreate(0,0,0);
h1:=HeapAlloc(Memory,8,4);
...
{здесь записываем данные в h1}
...
h2:=HeapAlloc(Memory,8,4);
...
{здесь по идее изменяем размер блока h2, записываем данные}
...
</CODE>
Так вот, второй блок никак не хочет выделяться из кучи :(. Причём если до попытки выделения второго блока ничего не делать с первым то всё проходит нормально.
Что делать?
6.3K
13 августа 2004 года
Denri
43 / / 12.08.2004
А вот так:
hHeap := GetProcessHeap; // У каждого процесса есть по крайней мере одна куча, так зачем создавать новую? ;)
h1 := HeapAlloc(hHeap, 0, 100); // h1: Pointer указывает на область в 100 байт.
Изменять размер блока можно функцией HeapReAlloc.
Не забываем освобождать память функцией HeapFree.
Стоит обратить внимание на функции Local(Re)Alloc, LocalFree. С ними чуть-чуть проще обращаться.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог