Autor |
Nachricht |
Glas
Threadersteller
Dabei seit: 24.05.2003
Ort: Bremen
Alter: 41
Geschlecht:
|
Verfasst Fr 27.06.2008 13:06
Titel [AS2] class anhand eines Strings instanzieren |
|
|
Hallo zusammen!
Ich möchte anhand eines Strings innerhalb einer Klasse eine andere Klasse instanzieren.
Quasi sowas (Pseudocode):
Code: |
...
var strClassName = "fooBarClass";
var classFoo = new strClassName;
...
|
In AS3 ist dieses Vorhaben ja durchaus zu lösen.
Pseudocode:
Code: |
...
String strClassName = "de.foo.bar.fooBarClass";
Class classFoo = Class.forName(strClassName);
...
|
In AS2 habe ich bis jetzt nur diese Möglichkeit gefunden:
http://swfoo.com/?p=61
Selbige gefällt mir allerdings nicht, da ich bei der Methode (z.B. im Constructor der "wrapper" Klasse)
eine Referenz auf alle Möglichen Klassen setzen und anschließend wieder löschen wüsste.
Finde ich umständlich und unschön ...
Hat da jemand ne Idee, wie sowas in AS2 (AS2 muss an dieser Stelle leider sein) anders/besser zu lösen ist?
Schonmal danke im vorraus!
Zuletzt bearbeitet von Glas am Fr 27.06.2008 16:58, insgesamt 1-mal bearbeitet
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 27.06.2008 13:12
Titel
|
|
|
Was genau willst Du denn machen ???
|
|
|
|
|
Anzeige
|
|
|
Glas
Threadersteller
Dabei seit: 24.05.2003
Ort: Bremen
Alter: 41
Geschlecht:
|
Verfasst Fr 27.06.2008 13:58
Titel
|
|
|
FlamingArt hat geschrieben: | Was genau willst Du denn machen ??? |
Puh, ne exakte Projektbeschreibung würde den Rahmen hier glaub ich sprengen
In diesem Teil gehts darum, dass eine XML Datei eingelesen wird, in der u.a. objekt- und Methodennamen hinterlegt sind, die dann z.b. auf einem Button oder Movieclip aufgerufen werden.
Gaaaaanz grob so:
Code: |
...
<assets>
<assset>
<source class="fooClass" method="fooMethod">button.swf</source>
<position>
<x>100</x>
<y>0</y>
</position>
</asset>
</assets>
...
|
Das Ding wird nun geparst, button.swf via MovieClipLoader geladen, positioniert ... und beim onRelease soll z.b. die Mehtode "fooMethod" aus der Klasse "fooClass" ausgeführt werden.
Das ist wie gesagt nur ganz grob skizziert, trifft aber an sich den Kern der Sache.
Nun geht es ebend darum, die Klasse "fooClass" überhaupt erstmal zu instanzieren.
Bevor Du die Frage nach dem Sinn eines solchen Systems stellst: Genau kann ich Dir das nicht beantworten
Der Ursprünglich Projektverantwortliche wollte/will wohl ne Art "Skinning" System für die Zugrundeliegende Applikation entwickeln ...
Ich hoff, dass gibt Dir erstmal nen ausreichenden Überblick über die Problemstellung?
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 27.06.2008 14:00
Titel
|
|
|
Also willst Du quasi eine statische Methode der Klasse aufrufen oder wie ????
|
|
|
|
|
Glas
Threadersteller
Dabei seit: 24.05.2003
Ort: Bremen
Alter: 41
Geschlecht:
|
Verfasst Fr 27.06.2008 14:11
Titel
|
|
|
FlamingArt hat geschrieben: | Also willst Du quasi eine statische Methode der Klasse aufrufen oder wie ???? |
Die aufgerufenen Methode ist nicht zwangsweise statisch.
Diesen Fall würd es sicherlich geben - aber halt nicht grundsätzlich.
Die ganze Geschichte ist ein bisschen ... sagen wir verworren
Das Grundproblem ist - meiner Meinung nach - wie instanziere ich in AS aus nem String die entsprechende Klasse, ohne vorher, wie in dem Link aus meinem ersten Posting, Referenzen erzeugen zu müssen.
Falls das überhaupt geht ...
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 27.06.2008 14:26
Titel
|
|
|
Ich würd mal sagen, geht nicht. Wenn Du aber doch eine Möglichkeit findest, sag mir wie
|
|
|
|
|
Glas
Threadersteller
Dabei seit: 24.05.2003
Ort: Bremen
Alter: 41
Geschlecht:
|
Verfasst Fr 27.06.2008 14:28
Titel
|
|
|
FlamingArt hat geschrieben: | Ich würd mal sagen, geht nicht. Wenn Du aber doch eine Möglichkeit findest, sag mir wie |
Werd ich definitiv machen
Alternativ kannste mir auch helfen, meine Vorgesetzen von nem umfangreichen Refactoring oder besser noch: von einer Migration auf AS3 zu überzeugen
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 27.06.2008 14:46
Titel
|
|
|
Alles eine Frage der Argumentation
|
|
|
|
|
|
|
|
Ähnliche Themen |
Einstellungsebenen instanzieren
Illustrator Objekte instanzieren
PHP Teil eines strings entfernen
Anzahl der Zeichen eines Strings ermitteln
[javascript] Array (Strings sind alphanumerisch) sortieren
class
|
|