| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Mar 2008
Beiträge: 118
| Flex Module Problem mit öffentlichen Methoden
Hallo allerseits! Hat jemand schon mal das Problem gehabt, dass er von aussen nicht auf Objecte innerhalb eines Moduls zugreifen kann? Oder nur eingeschränkt. Beispiel: In meine Modul gibt es eine Komponente mit diversen Methoden. Wenn ich dieses innerhalb des Moduls anspreche funktionieren die auch bestens. Wenn ich aber nun aus der Application auf eine öffentliche Methode des Moduls zugreife welche wiederum eine Methode der beeinhaltenden Komponente ausführen soll... ERROR. Ich hab mal bisschen rumgespiel. Testausgabe eines Canvas innerhalb des Moduls (trace(this.myCan)) ergibt dei gewohnte ausgabe. Die selbe Testausgabe aus der Application aufgerufen ergibt: NULL. Hat jemand ne Idee? Irgendwelche Security Settings vielleicht? |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Oct 2008
Beiträge: 148
|
hi, könnte an der applicationDomain liegen... wenn du ein module lädst, kannst du noch die applicationDomain angeben. zumindest ist das via ModuleManager möglich. wie es bei mxml aussieht kann ich nicht sagen, da ich es nicht auf diesem weg anwende.. auf die richtige/gleiche applicationDomain der hauptapplikation kannst du via ApplicationDomain.currentDomain ( glaube ich) zugreifen, weiss es jetzt nicht grad auswendig... vielleicht klappts dann.. ansonsten noch mit SecurityDomain rumspielen, ist der dritte parameter bei ModuleManager.getModule() ps: das selbe verhalten tritt auch bei styles auf. die werden nur auf module angewendet die in die selbe applicationdomain geladen wurden... bin jetzt allgemein nicht sicher ob die klassen und methoden genauso heissen wie ich geschrieben haben, aber der ansatz sollte weiterhelfen... grüsse |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Mar 2008
Beiträge: 118
|
Also das ist echt verrückt... Ich mach das jetzt so, dass die Daten die ich aus dem Modul benötige von dem Modul selber an die Application übergeben werden. Dann gehts. Holen darf ich sie nicht. Verrückt. ... Aber ich bleib am ball.
|
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Mar 2008
Beiträge: 118
|
Also auf Funktionen zugreifen geht auch... nur was diese Methoden zurückliefern ist halt irgendwie gesperrt. Die Einbindung erfolgt via AS PHP-Code: |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Oct 2008
Beiträge: 148
|
hmm, bei mir geht das so: Code: <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.events.ModuleEvent;
import mx.modules.ModuleManager;
import mx.modules.IModuleInfo;
private var mi_0 : IModuleInfo;
private var mi_1 : IModuleInfo;
private var module0 : Module1;
private var module1 : Module2;
private function loadModules():void{
this.mi_0 = ModuleManager.getModule( "Module1.swf" );
this.mi_0.addEventListener( ModuleEvent.READY, listener );
this.mi_0.load();
}
private function listener(event:ModuleEvent):void{
trace("module1 loaded")
this.module0 = IModuleInfo(event.currentTarget).factory.create() as Module1;
this.module0.x = this.butn0.x;
this.module0.y = 100;
this.addChild( this.module0 );
this.butn0.enabled = true;
}
]]>
</mx:Script>
<mx:Button x="10" y="10" label="loadModules" click="loadModules()"/>
<mx:Button x="10" y="465" label="getSomeData Module1" id="butn0" enabled="false" click="this.text0.text = this.module0.getSomeData()"/>
<mx:TextArea x="10" y="495" id="text0"/>
</mx:Application> Code: <?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300">
<mx:Script>
<![CDATA[
private var _someData : String = "someDataFromModule1";
public function getSomeData():String{
return this._someData;
}
]]>
</mx:Script>
<mx:Label x="10" y="10" text="Module1"/>
<mx:Canvas x="10" y="36" width="200" height="200" backgroundColor="#C80909">
</mx:Canvas>
</mx:Module> |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Flex Builder / Module einezlen ausführen | m.franz | Flex programmieren | 7 | 17-11-2008 19:20 |
| Problem mit set Methoden | stylefetish | ActionScript 3 | 2 | 29-10-2008 12:27 |
| Gesucht: Liniennetze im öffentlichen Verkehr | Gabiwan | Gestaltungstheorien | 9 | 03-04-2006 13:07 |
| Methoden Aufruf Problem | Mediautilus24 | Softwarearchitektur und Entwurfsmuster | 8 | 30-11-2005 16:18 |
| Flash Player 6 im öffentlichen Test | wolter | Nachrichten | 26 | 26-02-2002 14:35 |