Attempt to access field or method of Null Object
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
KlipBetreff: Attempt to access field or method of Null Object |
Fr, Nov 18, 2005 11:42 Antworten mit Zitat |
|
---|---|---|
Ich probiere im Moment, einen Mapmanager zu schreiben, der den Wechsel der Levelgrafiken erleichtert. Leider gibt es dabei eine Fehlermeldung und ich weiß nicht, wieso.
Zum Verständnis ein wenig Code: BlitzMax: [AUSKLAPPEN]
Ich behandle meine Methoden zum zeichnen der Karte selbst (DrawMap, SetMap, NextMap, usw.) gleich (zumindest habe ich keinen Unterschied gefunden) und trotzdem kommt dort kein Fehler. Woran könnte es liegen? Anbei noch eine kleine Frage: Habe nicht den Befehl gefunden, der in BlitzBasic vorher FreeImage hieß, weiß den einer zufällig? |
||
bruZard |
Fr, Nov 18, 2005 11:57 Antworten mit Zitat |
|
---|---|---|
Hast Du ein "Graphics" gesetzt? Hast Du den BRL.PNGLoader importiert?
Ein "FreeImage" gibt es nicht. Gewöhne Dich daran zu wissen über welche Laufzeit das Image benötigt wird, verwende es dort lokal und der GC entfernt das Image selbstständig aus dem Speicher. Zusätzlich, falls Du abends auch immer alle Türen zuhause zuschliesst, kannst Du auch noch ein "image:TImage = null" einfügen. |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
klepto2 |
Fr, Nov 18, 2005 11:58 Antworten mit Zitat |
|
---|---|---|
Hast du BG_Image vorher Global deklariert?
Ansonsten probier es mal so: Code: [AUSKLAPPEN] Method SetBackground:TImage(BGnumber:Int) BGname:string = "bg"+BGnumber+".png" BG_image:TImage = LoadImage("incbin::"+BGname) ?Debug Print("## changed background to: "+"'"+BGname+"'") ' Bis hierhin klappt es, die Meldung wird nämlich im Output ausgegeben. ? Return BG_Image EndMethod Method DrawBackground(BG_image:TImage,BG_x:Int,BG_y:Int) DrawImage(BG_image,BG_x,BG_y) ' Hier gibt es die Fehlermeldung. EndMethod ' ---------------------------------------- ' Aufruf von DrawBackground() in der Hauptschleife: Local BG_Image:TImage = SetBackGround(BGnumber) MAPMANAGER.DrawBackground(BG_image:TImage,BG_x:Int,BG_y:Int) |
||
Matrix Screensaver
Console Modul für BlitzMax KLPacker Modul für BlitzMax HomePage : http://www.brsoftware.de.vu |
Dreamora |
Fr, Nov 18, 2005 16:22 Antworten mit Zitat |
|
---|---|---|
gibt mal beim Debug Output auch den Image Handle aus. Falls das laden des Image fehl schlug, müsste das dann da sichtbar sein.
Strict am Anfang des Programmes (oder besser SuperStrict) setze ich ma voraus, um falsche Variablennamen ausschliessen zu können |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group