Code: |
{ **** UBPFD *********** by delphibase.endimus .com **** >> Получение размера памяти выделенный под Pointer
Функция возврящает количество байт выделенных под Pointer. Размер округляется в большую сторону до DWORD (4 байт).
Зависимости: Windows Автор: Мироводин Дмитрий, mirovodin mail.ru Copyright: Мироводин Дмитрий Дата: 16 октября 2013 г. ***************************************************** }
function GetPointerSize(const P: Pointer): Integer; begin if P = nilthen Result := -1 else Result := Integer(Pointer((Integer(p) - 4))^) and$7FFFFFFC - 4; end; Пример использования:
var P: pointer; PSize: integer; begin GetMem(P, 1024); // Размер кратен 4 PSize := GetPointerSize(P); ShowMessage(inttostr(PSize)); // Результат 1024 байта FreeMem(P); end;
...
var P: pointer; PSize: integer; begin // Размер НЕ КРАТЕН 4 GetMem(P, 6); PSize := GetPointerSize(P); // Результат 8 байта т.к. идет округление ShowMessage(inttostr(PSize)); FreeMem(P); end; |
Получение размера памяти выделенный под Pointer
Получение размера памяти выделенный под Pointer
- Подробности
- Родительская категория: Язык программирования Дельфи
- Категория: Работа с указателями, память
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!