[ascoders] Re: AW: String in Klassenreferenz umwandeln?
- From: "Matthias Dittgen" <matthias@xxxxxxxxxxx>
- To: ascoders@xxxxxxxxxxxxx
- Date: Sun, 10 Jun 2007 11:46:51 +0200
Hallo Peter,
ich bin's wieder. ;-) Du kannst natürlich einer Klasse die von
MovieClip erbt einen Symbolnamen (LinkageID) zuordnen über die
allseits bekannt Methode beschrieben von Peter Joel
(http://www.peterjoel.com/blog/?archive=2004_01_01_archive.xml&showComments=107550841406346131).
Dann kannst Du von der Klasse Instanzen bilden und die Klasse über die
LinkageID im attachMovie Aufruf referenzieren. Dabei schleppst Du aber
den Overhead des MovieClip Objektes mit und brauchst einen
Container-Clip in den Du den MovieClip attachest.
Um statische (Klassen-)Methode aufzurufen nützt es Dir vermutlich
weniger - um Instanz-/Objekt-Methoden aufzurufen umso mehr.
Hilft Dir das?
Du kannst ja nochmal in Richtung Object.register recherchieren...
Gruß,
Matthias
Am 09.06.07 schrieb Peter <nc-gellerpe@xxxxxxxxxxxxx>:
Ich habs jetzt erstmal ziemlich dämlich gelöst und zwar so
public function showClip(evtObj:Object) {
// Führt eigentlich dann die Blendenanimation aus um
den neuen Clip darzustellen.
switch
(evtObj.parameters.ani) {
case
"StrongTransition":
trace(StrongTransition.showClip());
break;
}
}
Trotzdem würde mich es riesig freuen wenn mir einer sagen kann wie ich die
Klasse direkt aufrufen kann.
Ich hatte ja gehofft das es gehen könnte
this[evtObj.parameters.ani].showClip()
Bin mal gespannt ob sich noch jemand dazu meldet!
Grüße aus Köln
Peter
________________________________
Von: ascoders-bounce@xxxxxxxxxxxxx [mailto:ascoders-bounce@xxxxxxxxxxxxx] Im
Auftrag von Peter
Gesendet: Samstag, 9. Juni 2007 14:44
An: ascoders@xxxxxxxxxxxxx
Betreff: [ascoders] String in Klassenreferenz umwandeln?
Hi Zusammen,
gibt es eine Möglichkeit eine von mir statische Klasse innerhalb einer
anderen Klasse als String zu übergeben und dann den übergebenen String als
Klasse aufzurufen?
Wenn ich nämlich im View die Klasse direkt eingebe funktioniert es, kommt
der Klassenname aber als String bin ich nicht in der Lage durch eval oder
andere Möglichkeiten diesen String wieder in eine Klassenreferenz oder einen
Klassennamen umzuwandeln.
Gibt es da irgendeine Möglichkeit, da ich der Klasse gerne andere Klassen
anhand von einem XML Dokument übergeben würde?
Grüße Peter
Ps. Im Netz habe ich nur ein paar Beispiele wie z.B. getClassPathByString
oder so gefunden aber da bekomme ich bei der Ausgabe immer nur ein
undefined.
Und mit dem UIObject.createObject komme ich glaube ich auch nicht weiter da
es ja nur für Komponenten von Flash ist, oder?
Simples Beispiel…
// Die statische Klasse
class classes.StrongTransition {
function StrongTransition(){}
static function showClip() {
trace("ZEIG MICH");
}
}
// Die Klasse die ausführen soll
import classe.StrongTransition;
class classes.View {
function View(){}
//Im String wird die statische Klasse übergeben "StrongTransition"
public function showClip(test:String) {
var class = test;
class.showClip();
}
--------------------------------------------------------------
Archiv : http://www.freelists.org/archives/ascoders/
RSS : http://www.freelists.org/archives/ascoders/feed.rss
Optionen : http://www.freelists.org/list/ascoders
--------------------------------------------------------------
- Follow-Ups:
- References:
Other related posts:
- » [ascoders] AW: String in Klassenreferenz umwandeln?
- » [ascoders] Re: AW: String in Klassenreferenz umwandeln?
- » [ascoders] Re: AW: String in Klassenreferenz umwandeln?
Ich habs jetzt erstmal ziemlich dämlich gelöst und zwar so
public function showClip(evtObj:Object) {
// Führt eigentlich dann die Blendenanimation aus um
den neuen Clip darzustellen.
switch
(evtObj.parameters.ani) {
case
"StrongTransition":
trace(StrongTransition.showClip());
break;
}
}
Trotzdem würde mich es riesig freuen wenn mir einer sagen kann wie ich die
Klasse direkt aufrufen kann.
Ich hatte ja gehofft das es gehen könnte
this[evtObj.parameters.ani].showClip()
Bin mal gespannt ob sich noch jemand dazu meldet!
Grüße aus Köln
Peter
________________________________
Von: ascoders-bounce@xxxxxxxxxxxxx [mailto:ascoders-bounce@xxxxxxxxxxxxx] Im
Auftrag von Peter
Gesendet: Samstag, 9. Juni 2007 14:44
An: ascoders@xxxxxxxxxxxxx
Betreff: [ascoders] String in Klassenreferenz umwandeln?
Hi Zusammen,
gibt es eine Möglichkeit eine von mir statische Klasse innerhalb einer
anderen Klasse als String zu übergeben und dann den übergebenen String als
Klasse aufzurufen?
Wenn ich nämlich im View die Klasse direkt eingebe funktioniert es, kommt
der Klassenname aber als String bin ich nicht in der Lage durch eval oder
andere Möglichkeiten diesen String wieder in eine Klassenreferenz oder einen
Klassennamen umzuwandeln.
Gibt es da irgendeine Möglichkeit, da ich der Klasse gerne andere Klassen
anhand von einem XML Dokument übergeben würde?
Grüße Peter
Ps. Im Netz habe ich nur ein paar Beispiele wie z.B. getClassPathByString
oder so gefunden aber da bekomme ich bei der Ausgabe immer nur ein
undefined.
Und mit dem UIObject.createObject komme ich glaube ich auch nicht weiter da
es ja nur für Komponenten von Flash ist, oder?
Simples Beispiel…
// Die statische Klasse
class classes.StrongTransition {
function StrongTransition(){}
static function showClip() {
trace("ZEIG MICH");
}
}
// Die Klasse die ausführen soll
import classe.StrongTransition;
class classes.View {
function View(){}
//Im String wird die statische Klasse übergeben "StrongTransition"
public function showClip(test:String) {
var class = test;
class.showClip();
}