Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Освобождение памяти 2

Delphi , Синтаксис , Память и Указатели

Освобождение памяти 2

unit MemMan;

interface

uses
  StdCtrls, Classes;

var
  AllocCount, FreeCount: Integer;
  AllocatedList: TList;

type
  TCountButton = class(TButton)
  protected
    class function NewInstance: TObject; override;
    procedure FreeInstance; override;
  end;

implementation

uses
  Windows, SysUtils;

class function TCountButton.NewInstance: TObject;
begin
  Inc(AllocCount);
  Result := inherited NewInstance;
  AllocatedList.Add(Result);
end;

procedure TCountButton.FreeInstance;
var
  nItem: Integer;
begin
  Inc(FreeCount);
  nItem := AllocatedList.IndexOf(self);
  AllocatedList.Delete(nItem);
  inherited FreeInstance;
end;

initialization
  AllocatedList := TList.Create;

finalization
  if (AllocCount - FreeCount) <> 0 then
    MessageBox(0, pChar(
      'Objects left: ' + IntToStr(AllocCount - FreeCount)),
      'MemManager', mb_ok);
  AllocatedList.Free;
end.
Скачать весь проект

Статья Освобождение памяти 2 раздела Синтаксис Память и Указатели может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Память и Указатели ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
20.04.2024 09:35:42/0.036015033721924/2