DeleteElement()

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
darius676
Beiträge: 513
Registriert: 08.03.2010 22:12
Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X
Wohnort: AT
Kontaktdaten:

DeleteElement()

Beitrag von darius676 »

Guten Tag erstmal,
vll. ist die Frage schon behandelt worden, ich finde im Forum leider nix konkretes:
Wird wenn mit DeleteElement() ein Element aus der Liste gelöscht wird der von dem Element beanspruchte Speicher (Sprites,Sound…) freigegeben.
mit ClearList() funktioniert die lt. Anleitung, bei DeleteElement() ist das nicht so klar beschrieben?

vielen Dank,

Walter
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: DeleteElement()

Beitrag von Mijikai »

DeleteElement() gibt nur den Speicher des Elements (Struktur des Eintrags) frei aber
keine enthaltenen Bilder, Sprites usw.

Beispiel:

Code: Alles auswählen

;PureBasic v.5.62

EnableExplicit

Structure DUMMY
  *ptr
  msg.s  
  image.i
EndStructure

Global NewList dummy.DUMMY()
Global *memory.String
Global img.i

If AddElement(dummy())
  dummy()\msg = "Hallo Welt!"
  dummy()\ptr = @dummy()\msg
  dummy()\image = CreateImage(#PB_Any,400,400)
  *memory = @dummy()
  img = dummy()\image
EndIf

;DeleteElement(dummy())
;ClearList(dummy())

Debug *memory\s
Debug IsImage(img)

End
Zuletzt geändert von Mijikai am 31.01.2019 16:32, insgesamt 1-mal geändert.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7035
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: DeleteElement()

Beitrag von STARGÅTE »

Der Speicher des Elements selbst wird freigegeben ABER alles was im Element hinterlegt wurde z.b. Sprites oder Sounds werden NICHT freigegeben!
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
darius676
Beiträge: 513
Registriert: 08.03.2010 22:12
Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X
Wohnort: AT
Kontaktdaten:

Re: DeleteElement()

Beitrag von darius676 »

Danke für die rasche Hilfe!
LG
Antworten