Валентин Озеров

Книги → Советы по Delphi. Версия 1.4.3 от 1.1.2001 → Освобождение записей

Delphi 1

Для начала необходимо привести объект к нужному типу, например, так:

var

  i: integer;

begin

 …

for

 i := 0 to MyList.Count - 1 do dispose(PMyRecord(MyList[i]));

 MyList.Free;

end;

или

begin

 for i := 0 to MyList.Count - 1 do dispose(PMyRecord(MyList.items[i]));

 MyList.Free;

end;

Items — свойство по умолчанию, поэтому вам нет необходимости определять это, хотя обратное не помешает.

Теперь можно заняться созданием работоспособной и полезной функцией. В форме:

var p : ^mystruct;

begin

 new(p);

 …

 dispose(p);

end;

операторы new() и dispose() в точности соответствуют процедурам getmem() и freemem(), за исключением того, что компилитор распределяет количество байт под размер структуры, на которую ссылается переменная-указатель. По этой причине указатель должен быть типизированным указателем, и следущий код неверен:

var

 p: pointer;

begin

 new(p);

end;

поскольку невозможно установить размер памяти, на которую должен ссылаться указатель. С другой стороны, если вы используете getmem() и freemem(), вы можете распределять байты для нетепизированного указателя, например:

var p : pointer;

begin

 getmem(p, 32767);

 …

 freemem(p, 32767);

end;

← предущий раздел следующий раздел →

Публикация компанией Dropbox кода Zulip – средства общения для IT-разработчиков

20.11.2015
Одной из одобрительно встреченных программистами инициатив, реализующихся в рамках акции Hack Week, стала публикация исходного кода приложения Zulip – веб-приложения для общения между собой разработчиков в сфере IT-технологий.

Объединение ОС Android и Chrome

17.11.2015
Слухи об объединении двух крупнейших ОС компании Google, Android и Chrome, гуляют по Интернету уже более 5 лет, но до сих пор этого не случилось, хотя очевидно, что с течением времени эти ОС становятся всё более похожими: так, в последнее время появилось немало Android-устройств, к которым прилагаются клавиатуры, а Chrome OS «научилась» работать с сенсорными экранами.

Конференция Linux Piter 2015

15.11.2015
Уже почти через неделю в Санкт-Петербурге впервые в истории пройдёт конференция, посвящённая проблемам свободного программного обеспечения – Linux Piter 2015.