Löschen eines Objektes

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

juse4pro

Betreff: Löschen eines Objektes

BeitragMo, Feb 09, 2009 20:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

habe ne simple Frage, wie kann ich ein erstelltes Objekt (new) wieder löschen?

bin Umsteiger von Blitz3D auf BlitzMax Wink
Portfolio |LinkedIn |XING

coolo

BeitragMo, Feb 09, 2009 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
deinhandle:deintype=null

Den Rest macht alles der GC Wink.
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat

juse4pro

BeitragMo, Feb 09, 2009 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, irgentwie geht das nicht in na methode

Self:TShot und so
wie dann?
und warum ist delete ein Keyword, wenn man es garnicht braucht?
Portfolio |LinkedIn |XING

tedy

BeitragMo, Feb 09, 2009 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
du könntest mit der methode delete noch weitere sachen machen z.b einen listeneintrag löschen
01010100 01100101 01000100 01111001 00100000 00111010 01000100

juse4pro

BeitragMo, Feb 09, 2009 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, also ich bin grade in meiner schuss-update methode, player und schuss überlappen, also:
Code: [AUSKLAPPEN]

Self:TShot = Null
current:TPlayer = Null


davor frage ich noch alle spieler ab:
Code: [AUSKLAPPEN]

For Local current:TPlayer = EachIn PlayerList

...der code von grade eben

next


ich würde gern den spieler löschen, und den schuss und den listen eintrag muss ja jeweils auch entfernen, aber wie mache ich das? delete funktioniert irgentwie nicht...

naja, ich hoffe, ihr könnt mir helfen Wink
Portfolio |LinkedIn |XING

ChaosCoder

BeitragMo, Feb 09, 2009 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
die methode delete wird aufgerufen, wenn das object gelöscht wird also wenn es dereferenziert wird.

stell dir eine klasse vor, die eine globale variable namens count hat, jedesmal wenn ein object erzeugt wird, wird ja die New() Methode aufgerufen, hier kannste dann count:+1 reinschreiben. In der Delete() Methode kannste dann count:-1 reinschreiben und du weißt immer die Aktuelle Anzahl der Objekte dieser Klasse, toll nicht? Razz

Edit:
Wenn du das Objekt aus einer Liste rauslöschen möchtest, womit dann wahrscheinlich keine Referenz mehr auf dieses Objekt existiert, dann schreib einfach PlayerList.remove(current).
damit wird das aus der liste gelöscht.

Edit2:
Nochmal zum Verständnis:
Wenn du keine Variable mehr hast, die auf ein Object zeigt, wird dieses Object automatisch vom GarbageCollector gelöscht.
Projekte: Geolaria | aNemy
Webseite: chaosspace.de

juse4pro

BeitragMo, Feb 09, 2009 21:23
Antworten mit Zitat
Benutzer-Profile anzeigen
danke, ich habe mich in BlitzMax verliebt

mal gucken, ob ichs hinbekomme
Portfolio |LinkedIn |XING

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group