[GELÖST] CreateGraphics failed?

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

CO2

ehemals "SirMO"

Betreff: [GELÖST] CreateGraphics failed?

BeitragMo, Jan 16, 2017 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich habe seit längerer Zeit kein BlitzMax mehr programmiert. Vor der kleinen "Schaffenspause" habe ich jedoch ein - zumindest laut meiner Erinnerung - lauffähiges Projekt gehabt. Heute habe ich mich wieder an dieses Projekt gesetzt und auf einmal funktioniert es nicht mehr Embarassed

Nun, folgender Code BlitzMax: [AUSKLAPPEN]
Framework BRL.Max2D
Import BRL.System
Import BRL.Timer

?Win32
Import "_devel/ehmain.o"
?

Import "_devel/_src/init.bmx"
Import "_devel/_src/game.bmx"
Import "_devel/_src/functions/functions.bmx"

SeedRnd(MilliSecs())

AppTitle = Glob().GetAppTitle()

Local screenw:Int = Glob().Settings.GetIntSetting("screenw")
Local screenh:Int = Glob().Settings.GetIntSetting("screenh")
Local depth:Int = Glob().Settings.GetIntSetting("depth")
Local fpsval:Int = Glob().Settings.GetIntSetting("fps")

If (screenw <= 0 Or screenh <= 0 Or depth <= 0 Or fpsval <= 0)
Notify(Glob().GetTranslation("$text_9000"))
Glob().ShutDown()
End
EndIf

Local graph:TGraphics = Graphics(screenw, screenh, depth) ' <<< MARKIERT <<<
If (Not graph)
Notify(Glob().GetTranslation("$text_9001"))
Glob().ShutDown()
End
EndIf

SetBlend(ALPHABLEND)

SetMaskColorARGB(Glob().InvisibleARGB)

Local FPS:TTimer = CreateTimer(fpsval)
Local bRun = True

If (Not Game().Initialize())
EndGraphics()

Notify("Corrupt data, exiting", True)

Game().ShutDown()
Glob().ShutDown()

End
EndIf

Repeat
WaitTimer(FPS)
Cls()

bRun = Game().Frame()

Flip(0)
Until Not bRun

Game().ShutDown()
Glob().ShutDown()

End


"Rausfliegen" tue ich an der markierten Zeile ("<<< MARKIERT <<<"). Dort beendet sich das Programm mit der Fehlermeldung Zitat:
CreateGraphics failed:Attempt to access field or method of Null object


Die Variable graph ist danach natürlich Null.

Die Werte für screenw, screenh, etc. sind folgende:
screenw = 1920
screenh = 1080
depth = 32
fpsval = 60

Frage: Wo ist das Problem? Die Auflösung stimmt mit meiner Bildschirmauflösung überein und auch die Farbtiefe sollte keine Probleme machen.
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti
  • Zuletzt bearbeitet von CO2 am Mo, Jan 16, 2017 23:02, insgesamt einmal bearbeitet

DAK

BeitragMo, Jan 16, 2017 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir funktioniert's (zumindest, wenn ich die ganzen Imports auskommentiere, die du da hast).

Was mir noch einfallen täte:
-) Irgendwas in deinen Imports macht irgendwas kaputt
-) Verwende einen spezifischen Treiber statt BRL.Max2D, also entweder BRL.D3D7Max2D (Dx7) oder BRL.GLMax2D (OpenGL). Dazu einfach statt BRL.Max2D den passenden Treiber importieren. BRL.GLMax2D ist eigentlich ganz gut und rennt überall.

Wenn das nicht hilft, probier doch mal nur die eine Zeile plus dem Minimalimport Framework BRL.Max2D und schau, ob das funktioniert.
Gewinner der 6. und der 68. BlitzCodeCompo
 

CO2

ehemals "SirMO"

BeitragMo, Jan 16, 2017 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Tatsächlich, das war's, Danke Very Happy

Falls noch jemand über das Problem stolpert: Ich nutze den Framework-Assistant um möglichst kleine Exen zu bekommen und habe da wohl die Include für OpenGL und DirectX vermischt (?). Habe jetzt einfach die Hauptdatei nochmals per Framework-Assistant geöffnet und alle Includes geupdated => Es funktioniert.
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group