![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Вопрос не новый: после перехода с семерки на след. версии многие пользователи замечают, что в глоб. переменной AllocMemSize теперь постоянно нолик.
Видимо, это связано с другой моделью памяти. Но что делать? Как определить, сколько памяти в данный момент отведено приложению и вывести эту информацию, скажем, на форму? |
|
#2
|
|||
|
|||
|
Отменяется вопрос! Сам разобрался. Написал вот такую функцию:
Код:
{==== Определение размера выделенной приложению памяти (в Байтах) ====}
function MyGetAllocatedMemory: Cardinal;
var MMS: TMemoryManagerState; K: Byte;
begin
GetMemoryManagerState(MMS);
Result := MMS.TotalAllocatedLargeBlockSize +
MMS.TotalAllocatedMediumBlockSize;
For K := 0 to 54 do with MMS.SmallBlockTypeStates[K] do Result :=
Result + UseableBlockSize + InternalBlockSize + ReservedAddressSpace;
end;Последний раз редактировалось Admin, 19.06.2011 в 20:22. |