Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Сис. программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов




helloworld.ru

V. ФУНКЦИИ И ПРОЦЕДУРЫ ДЛЯ РАБОТЫ С ПАМЯТЬЮ

2. Процедуры для работы с динамическими переменными.


Процедура FreeMem( var P: Pointer [; Size: Integer] );

Модуль: System

Описание
Процедура уничтожает переменную, с которой связан указатель P и высвобождает память, занимаемую данной переменной. В необязательном параметре Size указывается объем памяти в байтах, выделенный ранее динамически под переменную. Если после действия процедуры FreeMem, вызвать указатель P, то возникнет ошибка, т.к. указатель имеет неопределенное значение.

Пример
var
   Vf: File;
   Size: Integer;
   Buffer: PChar;
begin
     AssignFile(Vf, 'work.txt');
     Reset(Vf, 1);     { Открывает файл work.txt }
     Size:= FileSize(Vf);     { Определяет размер файла }
     GetMem(Buffer, Size);     { Создает динамический буфер }
  try
     BlockRead(Vf ,Buffer^, Size);     { Читает содержимое файла в буфер }
   ...
{ В этом месте должен быть код, использующий буфер }
   ...
  finally
     Finalize(Buffer);
     FreeMem(Buffer);     { Освобождает память от буфера }
  end;
     CloseFile(F);     { Закрывает файл }
end;


[ Оглавление ]









helloworld.ru © 2001-2021
Все права защищены