Byte Ptr zu Func
Übersicht

NemesisBetreff: Byte Ptr zu Func |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also bmax convertiert von Functionspointer zu Byte Ptr automatisch. aber wie bekomme ich aus nem Byte Ptr wieder ne Function?
Edit: Der Hintergrund: Ich möchte so eine art Eventsystem machen. Da habe ich dann eine Function AddEventHandler zb. die kriegt den namen des events und eine callback function als parameter. Nun ist die Callback function natürlich je nach Event etwas etwas anders ( andere parameter) und deshalb dachte ich mir ich nehme einen Byte Ptr -> blitzbasic castet automatisch die function zu byte ptr und ich mach in der AddEventHandler je nach event type wieder ne function draus (mit den entsprechenden parametern) |
||
![]() |
Ratchet |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe das selbe Problem und bis lang noch eine Lösung gefunden. Das muss doch irgendwie gehen.
Code: [AUSKLAPPEN] Function MeineFunktion()
Print("Hallo Welt") End Function Type TTest Field Func: Byte Ptr End Type x: TTest = New TTest x.Func = MeineFunktion x.Func() Bekomme dann immer die Meldung Expression of type 'Byte Ptr' cannot invoked Was ist da bloß falsch? |
||
[iMac 27"] [3,4GHz Intel Core i5 ] [8GB Ram] [NVIDIA GeForce GTX 775M 2GB] [MacOS X Yosemite] [BlitzMax + MaxGui] [Monkey X Pro] |
![]() |
Suco-XBetreff: .... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Strict Function MeineFunktion() Print("Hallo Welt") End Function Type TTest Field Func: Byte Ptr Method DoIt() Local tmp() = Func tmp() End Method End Type Local x: TTest = New TTest x.Func = MeineFunktion x.doIt() !?!? Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
Ratchet |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah, wunderbar. Dankeschön ![]() |
||
[iMac 27"] [3,4GHz Intel Core i5 ] [8GB Ram] [NVIDIA GeForce GTX 775M 2GB] [MacOS X Yosemite] [BlitzMax + MaxGui] [Monkey X Pro] |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Problem dabei könnte nur werden, wenn man versehentlich falsche Parameter, also nicht zur original-funktion passende, übergibt, fliegt einem das Programm um die ohren.
Die Bmax-Eigenen Event-Handler callbacks haben deshalb eine standardisierte signatur. |
||
jsp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Noch mal eine andere Variante mit Function als Parameter:
Code: [AUSKLAPPEN] Strict
Function MeineFunktion() Print("Hallo Welt") End Function Type TTest Field Func:Int() Method DoIt(Func()) Local tmp() = Func tmp() End Method End Type Local x: TTest = New TTest x.doIt(MeineFunktion) |
||
Logic Gui Professional a Gui Designer for MaxGui |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group