Funktionspointer

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Xaymar

ehemals "Cgamer"

Betreff: Funktionspointer

BeitragFr, März 19, 2010 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich versuche gerade funktionspointer in einer Type abzuspeichern, doch habe ich bis jetzt keine ahnung wie das genau geht(sucher spuckt mal wieder nur nicht wirklich sinnvolles aus)
BlitzMax: [AUSKLAPPEN]
Type GameObject
Global List:TList = CreateList()

Field oImage:TImage
Field fFnc:Byte Ptr

Function New(Image:TString, fnc:Int)
EndFunction

EndType

Das wäre die Type, doch ich weiß nicht wie ich das mit der Funktion nun mache(kein Rückgabewert, nur ein (X,Y) Array als Eingabe. wie würde das dann aussehen?
Warbseite

mpmxyz

BeitragFr, März 19, 2010 17:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Funktionspointer funktionieren normalerweise so:
BlitzMax: [AUSKLAPPEN]
Local func:TImage(parameter:Object,flags:Int)=LoadImage 'Daklaration und Zuweisung
Local b:TImage=func("Test.png",-1) 'Aufruf

Die allgemeine Form sieht so aus:
BlitzMax: [AUSKLAPPEN]
Local func<Rückgabewert>(<Parameter>)=<irgendeine Funktion>
func(<Daten für die Parameter>)

Nun solltest du ja auch von alleine drauf kommen. Wink
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

d-bug

BeitragFr, März 19, 2010 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich rate mal kurz, du benutzt keinen Strict-Modus?! Sonst würdest du arge Probleme mit deiner "New" Funktion da bekommen...

zum Thema:

BlitzMax: [AUSKLAPPEN]
Type TMyTest

Field _MyTestFunction()

Method setMyFunction:TMyTest(MyTestFunction())
_MyTestFunction = MyTestFunction
Return Self
End Method

Function MyFunction ()
Print "Ich bin sooo toll"
End Function

End Type

Local test:TMyTest = (New TMyTest).setMyFunction(TMyTest.MyFunction)


So in etwa. Ist aber ein dummes Beispiel ohne sittlichen Nährwert!

Xaymar

ehemals "Cgamer"

BeitragFr, März 19, 2010 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich benutze SuperStrict, habe aber bisher nicht kompiliert, da ich ja nicht weiß wie man Funktionspointer in Types unterbringt, danke d-bug
Warbseite

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group