Разное
Облака / Clouds
The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>
time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Как найти наибольший общий делитель
Категория: Математика
Категория: Математика
Узнать установлена ли BDE
Категория: Базы данных
Категория: Базы данных
Функции дат в SQL
Категория: Базы данных
Категория: Базы данных
Форма всегда наверху
Категория: Компоненты
Категория: Компоненты
Компонент SpeedButton
Категория: Компоненты
Категория: Компоненты
Преобразовать Римские символы в Арабские и наоборот
Категория: Текст и строки
Категория: Текст и строки
Что значит Paramstr
Категория: Приложение
Категория: Приложение
Компонент PopupMenu
Категория: Компоненты
Категория: Компоненты
Сохранить документ Word как RTF на DELPHI
Категория: Файловая система
Категория: Файловая система
Получить список запущенных приложений
Категория: Приложение
Категория: Приложение
Delphi - Справочник: FreeMem
FreeMem
|
procedure FreeMem ( MemoryPointer : Pointer {; MemorySize : Integer} ) ; |
Процедура (Unit System)
|
Освобождает память, используемую переменной
|
Описание:
|
Процедура FreeMem освобождает память, используемую переменной MemoryPointer. Вы можете произвольно определить MemorySize, который будет освобожден. Однако, Вы должны определить размер, распределенный на первом месте. Если переменная является нулевой (nil), тогда ничто не происходит. Если переменная неправильно указывает на память (возможно она уже была освобождена), то выбрасывается исключение EInvalidPointer. Если память содержит ссылки на переменные основанные на памяти, то вы должны вызвать Finalize перед FreeMem. FreeMem - противоположная GetMem команда. Лучше использовать New и Dispose вместо GetMem и FreeMem. Они позволяет избегать потребность вызова Finalize. |
Пример кода: Простой пример использования GetMem и FreeMem
|
var charPtr : PChar; begin // Распределение памяти для 4-х символов GetMem(charPtr, 4 * SizeOf(Char)); // Присвоение им значений charPtr^ := 'A'; Inc(charPtr); charPtr^ := 'B'; Inc(charPtr); charPtr^ := 'C'; Inc(charPtr); charPtr^ := #0; // признак конца строки // Теперь показываем эти значения Dec(charPtr, 3); ShowMessage('Сохраненные символы = '+charPtr); // Теперь освобождаем память этих символов FreeMem(charPtr); end;
Результат:
|
Сохраненные символы = ABC |