dynamische instanz-typen erkennung?

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

stfighter01

Betreff: dynamische instanz-typen erkennung?

BeitragFr, Jan 28, 2005 0:54
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab hier folgendes problem.

ich bin überzeugt das es möglich ist, aber ich weis nicht wie


ich habe mehrere typen

1)
type window
field wert1
field wert2


end type


type shiningwindow extends window
field wert3
field wert4

end type


local w:window[10]

'ich erstell hier mal ein paar verschiedene window typen
'beide sollen gleich behandelt werden bis auf ein paar ausnahmen

w[0]= new window
w[1]= new shiningwindow


w[0].wert1= 10
w[1].wert1= 10 = kein prob



shiningwindow((w[1]).wert4= 15
'würde ja funktionieren,
'prob ist aber zu erkennen ob w[1] eine instanz von shiningwindow ist,
'da sie im array alle als std window abgespeichert wurden.
'ich könnte ja einen field eintrag im window typ mitführen, der
'angibt welche art von instanz w[1] wirklich ist.
'das verstösst aber glaub ich gegen alle richtlinien der oop
'somit muss es doch irgendeine möglichkeit geben rauszufinden ob
'w[1] auf shiningwindow() gecastet werden kann.
'wie???


mfg stfighter
Denken hilft!

Vertex

BeitragFr, Jan 28, 2005 1:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Type TMyType1
   Field iIrgendwas:Int
End Type

Type TMyType2
   Field iIrgendwas:Int
End Type

Local tInstance1 : TMyType1
Local tInstance2 : TMyType2

tInstance1 = New TMyType1
tInstance2 = New TMyType2

If TMyType1(Object(tInstance1)) Then
   Print "TMyType1"
Else
   Print "Von einem anderen Type"
EndIf


If TMyType1(Object(tInstance2)) Then
   Print "TMyType1"
Else
   Print "Von einem anderen Type"
EndIf
vertex.dreamfall.at | GitHub

stfighter01

BeitragFr, Jan 28, 2005 1:09
Antworten mit Zitat
Benutzer-Profile anzeigen
ok danke, bin dir ein bier schuldig.

wär aber irgendwie offensichtlich gewesen oder?
ich steh halt manchmal massiv auf der leitung Shocked

aber sicher ists für andere auch interressant.

mfg stfighter
Denken hilft!

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group