Zugriff auf Pfad funktioniert -> Zugriff auf Variable nic
Übersicht

![]() |
M0rgensternBetreff: Zugriff auf Pfad funktioniert -> Zugriff auf Variable nic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey Leute.
Ich wollte versuchen, das Skinningprogramm, das mir d-bug geschrieben hat (hier: https://www.blitzforum.de/foru...404#365404) jetzt auch nutzbar zu machen. Momentan sieht der Anfang so aus: BlitzMax: [AUSKLAPPEN] Import brl.timer Das ganze wollte ich jetzt so abändern, dass eine Variable genutzt wird für die Bilder. Ich importiere ja die Datei Images.bmx. Dadrin werden alle benötigten Bilder geladen und in Variablen abgespeichert. Zum Beispiel: BlitzMax: [AUSKLAPPEN] Global tiPlayer:TImage = LoadImage("gfx/Player.png") Wenn ich aber oben das Programm folgendermaßen abändere: BlitzMax: [AUSKLAPPEN] Global tiChar:TImage = LoadImage(tiplayer) Dann bekomme ich die Meldung Zitat: Unhandled Exception:Attempt to access field or method of Null object
Also wird irgendwo danach, wo ja auf die Pixmap der Bilder zugegriffen wird, versucht auf das BIld zuzugreifen, das da nicht vorhanden ist. Das Problem bei der Sache ist: Warum ist das so? Also, warum funktioniert das ganze, wenn ich den Pfad angebe, aber nicht wenn ich die Variable nutze? Lg, M0rgenstern |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Einmal ist die Variable ein Timage, einmal ein String - oder wie oder was?
Nachtrag: Timage <> TPixmap |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
In "LoadImage" steckt ein "LoadPixmap", welches den Parameter übernimmt.
Solange du aber keine eigene Pixmaploader schreibst, weiß "LoadPixmap" nichts mit einem Bildobjekt anzufangen. Das dumme ist, dass so ein Loader nur Streams annimmt. ->Man müsste einen unsinnigen ImageStream + eine weitere unsinnige ImageStreamFactory zum Loader schreiben, nur um das Bild als Parameter durchzuschieben. Du solltest dir am Besten eine eigene Funktion schreiben, die entweder das Bild, welches angegeben wurde, zurückgibt, oder versucht, ein Bild aus dem Parameter zu laden, wenn dieser kein Bild ist. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Xeres: Ja genau. Einmal string, einmal ein TImage.
Vielen Dank Xeres. Genau dein Beitrag hat mich drauf gestoßen. Ich muss das ganze so schreiben: BlitzMax: [AUSKLAPPEN] Global tiChar:TImage = tiplayer Dann gehts. Das mit dem Loadimage muss man weglassen. Das Bild wurde ja schon geladen wenn man die Variable nutzt. Dankeschön und sorry für den dummen Fehler. Lg, M0rgenstern |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group