in BlitzMax möglich?

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

Macintosh

Betreff: in BlitzMax möglich?

BeitragDo, Apr 08, 2010 0:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.

1. Kann ich Klassen(Types) über einen String ansprechen?
Code: [AUSKLAPPEN]
local var = new "TList"

2. Kann ich Funktionen/Methode über einen String aufrufen, bekommen?
3. Kan ich Fieds über einen String "Aufrufen"?
Code: [AUSKLAPPEN]

Type TBsp
     Field name:string
endtype

local var:TBsp
print var.valueForKey "name"

?

Danke

mpmxyz

BeitragDo, Apr 08, 2010 0:10
Antworten mit Zitat
Benutzer-Profile anzeigen
3 mal "Ja!", was für ein Glück heute!
Sie bekommen 300 Gummipunkte und das Modul brl.Reflection gratis dazu!
(Sorry, das konnte ich mir jetzt nicht verkneifen.)
brl.Reflection macht all das, was du haben möchtest.
Schaue es dir mal an.
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
 

Macintosh

BeitragDo, Apr 08, 2010 0:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke
 

Macintosh

BeitragMo, Mai 17, 2010 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry das ich das nochmal ausgrabe.... aber das ist ja schrecklich? ich muss die objekte vorher erst registrieren?? oO... son misst...

FireballFlame

BeitragMo, Mai 17, 2010 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Öh ... registrieren?
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

mpmxyz

BeitragMo, Mai 17, 2010 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Registrieren?
Meinst du damit, dass man erst einmal ein TTypeID-Objekt bestimmen muss?
Das sollte doch einfach mit "TTypeId.ForObject()" gehen, oder?
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
 

Macintosh

BeitragMo, Mai 17, 2010 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
jaaa. das man da noch son nen TField oder so machenn muss... ich hatte mir das eher so vorgestellt das jede klasse die methode von haus aus hat, oder os^^ währe allerdings ja unlogisch, da neue klassen ja nicht von einer grundklasse abgeleitet werden... fänd ich aber eig. ganz gut so.

mpmxyz

BeitragMo, Mai 17, 2010 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Dafür gibt es aber auch eine Lösung:
BlitzMax: [AUSKLAPPEN]
Type TBase Abstract
Method SetField(Field:String,value:Object)
'...
EndMethod
Method GetField:Object(Field:String)
'...
EndMethod
Method Invoke'...

An dieser zentralen Stelle könnte man auch die Abfragen optimieren, sodass man sogar einen kleinen Geschwindigkeitsvorteil zur einfacheren Verwendbarkeit hat.
Nur bei den Standardklassen muss man es anders machen. Eine Wrapper-Klasse sollte dort aber auch helfen.
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group