Falscher Method Aufruf

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Shinkiro1

ehemals "Espada"

Betreff: Falscher Method Aufruf

BeitragSa, Mai 22, 2010 9:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich baue mir gerade ein kleines Menü Modul.
Hier das Problem auf das ich stoße:

BlitzMax: [AUSKLAPPEN]

Type TButtonMenu
Field image:TImage
...
...

Method SetImage( path:String )
Self.image = LoadImage( path )
EndMethod
EndType


Type TItem

Method SetImage( path:String )
Self.image = LoadImage( path )
' Hier werden noch zusätzlich Sachen gemacht
EndMethod
EndType


Wenn ich aber nun ein TItem erzeuge und die SetImage Methode aufrufe, also ...
BlitzMax: [AUSKLAPPEN]

Local item:TItem = New TItem
item.SetImage( "start.png" )


wird stattdessen die Methode des Parent Types TButtonMenu aufgerufen.
Hier das ganze Modul.
Am Ende ist ein kleiner Test, der verdeutlicht das es nicht funktioniert.
Blog :: Ein RPG in 3 Monaten erstellen
Twitter :: News zum Projekt

DaysShadow

BeitragSa, Mai 22, 2010 10:31
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzMax: [AUSKLAPPEN]
	Rem
bbdoc: Set the Menu-Item Image
about: Overriding the Default Method
EndRem

Method SetImage( imagePath:String )
DebugLog( "Set a specific Image for Item " + Self.id )
Self.image = LoadImage( imagePath )
Assert Self.image, "Image for Menu[" + Self.id + " could not be loaded!"
Self.width = Self.image.width
Self.height = Self.image.height
Print( "Self.SetImage called" )
EndMethod


Sah so aus:

BlitzMax: [AUSKLAPPEN]
	Rem
bbdoc: Set the Menu-Item Image
about: Overriding the Default Method EndRem

Method SetImage( imagePath:String )
DebugLog( "Set a specific Image for Item " + Self.id )
Self.image = LoadImage( imagePath )
Assert Self.image, "Image for Menu[" + Self.id + " could not be loaded!"
Self.width = Self.image.width
Self.height = Self.image.height
Print( "Self.SetImage called" )
EndMethod


Man sieht es zwar hier nicht, aber die TItem.SetImage Methode war auskommentiert, da das EndRem noch in der about-Zeile stand, keine Ahnung ob das jetzt Absicht war oder nicht.
Zudem habe ich ein Print in jeweils eine der Methoden geschrieben und bei mir meldet sich Self.SetImage, also geht alles so wie es soll.
Bei TButtonMenu würde sich Super.SetImage melden.

MfG DaysShadow
Blessed is the mind too small for doubt

Shinkiro1

ehemals "Espada"

BeitragSo, Mai 23, 2010 8:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mit dem EndRem hat das Problem wirklich gelöst.
Ich hatte bereits tagelang nach dem Fehler gesucht und hab alle möglichen Sachen getestet.
Aber auf solch einen Fehler hätte ich nicht gedacht ...

Vielen Dank DaysShadow Smile
Blog :: Ein RPG in 3 Monaten erstellen
Twitter :: News zum Projekt
 

Macintosh

BeitragMo, Mai 24, 2010 13:13
Antworten mit Zitat
Benutzer-Profile anzeigen
dein TItem hat oben kein feld image:TImage ?!

d-bug

BeitragMo, Mai 24, 2010 13:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Macintosh: Ließ einfach mal alles! :>
 

Macintosh

BeitragDi, Mai 25, 2010 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
ups oh ja *grins* hab da was vergessen zu lesen, sorry ^^

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group