Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  


Основы Delphi
Dispose
Процедура
Очищает память на которую указывает указатель System unit
  
1 procedure Dispose ( var VariablePointer : Pointer-Type ) ;

2 procedure Dispose ( var ObjectPointer : Object-Pointer; Destructor ) ;
Описание
Процедура Dispose выходила в двух версиях.

Старшая версия - устаревший метод уничтожения объектов (Теперь вместо этого вы должны вызывать деструктор класса).

Первая версия освобождает память, используемую переменной типа указателя VariablePointer.

Вы должны использовать Dispose, когда больше не используется переменная распределённая с использованием New.
Примечания
Предупреждение: переменная становится неопределённой после вызова Dispose. Она не устанавливает на ноль (nil).
Похожие команды
FreeMem  Освобождает память, используемую переменной

GetMem  Получает указанное число байтов памяти.

New  Создаёт новую переменную типа указатель

ReallocMem  Позволяет изменить размер существующего блока памяти

 
Пример кода : Распределение памяти для записи, присвоение, и затем избавление от неё
type
  TCustomer = Record
    name : string[20];
    age  : Byte;
  end;

var
  custRecPtr : ^TCustomer;

begin
  // Создание записи клиента используя 'New'
  New(custRecptr);

  // Присвоение ему значений
  custRecPtr.name := 'Her indoors';
  custRecPtr.age  := 55;

  // Теперь показываем эти значения
  ShowMessageFmt('%s is %d',[custRecPtr.name, custRecPtr.age]);

  // Теперь избавляемся от этой распределенной записи
  Dispose(custRecPtr);
end;

Her indoors is 55
 



© Форум Delphi   |  Блог программистов   |  Создание и продвижение сайтов - "Веб сателлит"  |  Ссылки   |  Английская версия