PureBasic

FreeStructure()

Синтаксис

FreeStructure(*Item)

Описание


Удаляет экземпляр структуры, ранее динамически созданный с помощью AllocateStructure(). При этом нет необходимости вызывать ClearStructure() перед удалением экземпляра структуры.

Параметры

*Item Адрес динамически созданного экземпляра структуры, который требуется удалить. Это должно быть значение, возвращённое функцией AllocateStructure().

Возвращаемое значение

Ничего.

Комментарии

Если программа даёт сбой при этой команде, даже при том, что вводимое значение кажется корректным, это обычно является результатом повреждения данных в памяти программы в более раннее время, например при записи в память за пределами выделенной области памяти. Реальная причина такой ошибки может быть найдена с помощью средства отладчика Пурифаер.

При завершении программы все экземпляры структуры удаляются автоматически.

Пример.

Structure People ; Создание шаблона структуры.
    Name$
    List Friends$()
EndStructure

*DynamicPeople.People = AllocateStructure(People) ; Динамическое создание экземпляра структуры, по шаблону структуры.
*DynamicPeople\Name$ = "Fred"                      ; Обращение к полю экземпляра структуры через указатель.
AddElement(*DynamicPeople\Friends$())
*DynamicPeople\Friends$() = "Stef"

Debug *DynamicPeople\Name$
Debug *DynamicPeople\Friends$()

FreeStructure(*DynamicPeople) ; Удаление экземпляра структуры.

См. также

AllocateStructure()

Поддерживаемые OS

Все

<- FreeMemory() - Оглавление Memory - MemorySize()->