fie gebe ich den Speicher wieder frei ?

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

tommyglocke

Betreff: fie gebe ich den Speicher wieder frei ?

BeitragDo, Apr 05, 2007 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
ich versuche schon seit ein paar tagen den befehl zu finden, der
die bilder aus dem speicher räumt, welcher ist das?

also ich suche :

freefont
freeimage
freesound

Blitzcoder

Newsposter

BeitragDo, Apr 05, 2007 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzMax hat einen Garbage Collector. Der prüft, ob ein Objekt noch mit Variablen verlinkt ist. Einfach die Variable des Bildes auf Null setzten.
Code: [AUSKLAPPEN]

Sound:Tsound = Null
image:TImage=Null

usw.

Der Speicher wird dann automatisch freigegeben.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)
 

tommyglocke

BeitragDo, Apr 05, 2007 16:56
Antworten mit Zitat
Benutzer-Profile anzeigen
danke

was bedeutet das sound:Tsound

das gabe es in blitzbasic 3d nicht was hat es damit auf sich ?
 

Dreamora

BeitragDo, Apr 05, 2007 17:13
Antworten mit Zitat
Benutzer-Profile anzeigen
du musst bei objekten immer den Type deklarieren, das geschieht durch :Typename (alles ausser int, double, float, short und byte sind in BM objekte, auch strings und arrays)

wenn du das nicht machst wirst du geschwindigkeitseinbussen ohne ende hinnehmen müssen den BM ist auf OO und typbasierte Programmierung ausgelegt, die Int Handles sind bestenfalls für "ganz weit runter in die Steinzeit von Blitz" Kompatibilität Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

ChristianK

BeitragDo, Apr 05, 2007 18:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube aber, der Garbage Collector gibt den Speicher nicht direkt frei.
Wenn man nämlich ein Type und einen Destruktor erstellt ( Method Delete( ) ), dann wird er beim "Löschen" der Type-Instanz, also beim gleich Null setzen, nicht ausgefüht. Das geschieht erst, wenn man GCCollect ausführt.
Daher würde ich empfehlen, nach dem Löschen GCCollect zu benutzen, wenn viel Speicher belegt wurde.

Farbfinsternis

BeitragDo, Apr 05, 2007 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
@ProGame.Coder
Das ist bekannt und wurde schon mehrfach hier besprochen ... sowohl der Konstruktor, als auch der Dekonstruktor funktionieren derzeit in BMax nicht, oder nicht so wie man dies von anderen OOP Sprachen gewohnt ist. Mark Sibly geht anscheinend derzeit auf den Strich um Geld zu verdienen, sobald er genug zusammen hat wird er sich sicher dieser Probleme annehmen.
Farbfinsternis.tv
 

ChristianK

BeitragDo, Apr 05, 2007 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
@Farbfinsternis
Dein Post ist völlig sinnfrei. Es ging hier nicht um Konstruktoren/Destruktoren. Es war lediglich ein Beispiel für das Verhalten des Garbage Collectors.
 

Dreamora

BeitragFr, Apr 06, 2007 12:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Farbfinsternis hat Folgendes geschrieben:
@ProGame.Coder
Das ist bekannt und wurde schon mehrfach hier besprochen ... sowohl der Konstruktor, als auch der Dekonstruktor funktionieren derzeit in BMax nicht


Sie funktionieren.
New wird wie der Defaultconstructor in jeder anderen Sprache auch in der inheritance hierarchie aufgerufen.
Dementsprechend arbeitet auch Delete

Is gibt kein Overloading, somit gibts auch keine anderen Konstruktoren und damit auch keine Probleme mit denen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group