Error bei DrawImage in einem Type
Übersicht

JonathanBetreff: Error bei DrawImage in einem Type |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
ich hab folgendes Problem: Ich habe in einem Type ein Bild geladen ( nicht unter Field, sondern unter Global ) , aber wenn ich jetzt ein Objekt diese Types erstelle kommt dieser Error: Zitat: Unhandlet Ecxception: Attempt to acces field or method of Null objeckt
Mein Code sieht so aus: Code: [AUSKLAPPEN] Type X Global img : TImage = LoadImage ( " gfx\Image.bmp " ) .... Method Draw ... DrawImage ( img , Self.y_pos , Self.y_pos ) ... End Method End Type Alles andere klappt einwandfrei. Auch wenn ich das DrawImage weglasse, geht alles ( Liegt also nicht LoadImage ) Was muss ich ändern, was habe ich falsch gemacht? Soll ich das Bild als Field laden, dann muss es doch aber bei jedem neuen Objekt neu geladen werden... Das müsste doch mehr Rechenkapazität beanspruchen. Danke schonmal im Vorraus! ![]() Jonathan PS: Die Methode wird selbstverständlich auch ausgeführt, sonst gibt es auch keinen Bug. Der Bug kommtauch erst, wnn das Spiel gestartet hat, es stürtzt dann ab! |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. Du musst auf das Bild mit TypeName.img zugreifen, sonst bist du im falschen Namensraum. |
||
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) |
![]() |
Lobby |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist nicht ganz richtig, Xeres, innerhalb einer Methode befindet man sich ja schließlich im Bereich der Klasse und kann daher auch direkt auf die Globalen und Felder zugreifen.
So wie sich das anhört, würde ich doch sagen, dass das Bild nicht geladen wurde (vl. weil da ein paar Leerzeichen zu viel sind). Überhaupt fehlen der Draw-Methode auch die beiden Klammern (). Was sagt eigentlich der Debug-Modus? Der müsste ja anzeigen, ob der Fehler ein nicht geladenes Bild ist oder nicht. |
||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
![]() |
ZEVS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Auch wenn ich das DrawImage weglasse, geht alles ( Liegt also nicht LoadImage )
Falsche Schlussfolgerung. Wenn das Bild nicht existiert, gibt LoadImage Null zurück. In DrawImage wird aber natürlich auf die Felder und Methoden des Bild Objektes zugegriffen. Deshalb versucht DrawImage, "auf ein Feld oder eine Methode eines Null-Objektes zuzugreifen" (access field or method of Null object). Das wundert mich wenig, denn der Dateiname enthält Leerzeichen. @Xeres: Variablen der Klasse stehen ohne Referenz über Self in den Methoden und Funktionen zur Verfügung. Und selbst wenn nicht würde es der Kompiler schon vorher bemerken. @Jonathan: Es hat zwar überhaupt nichts mit deiner Frage zu tun, aber du hast da zweimal y_pos geschrieben. ZEVS |
||
Jonathan |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke, es liegt an den Leerzeichen ![]() Blöd, dass ich das übersehen habe! Aber trotzdem vieln Dank! Jonathan |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group