Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-11-2011, 11:57   #1 (permalink)
NCC 1701 D
 
Benutzerbild von speedjunkie
 
Registriert seit: Oct 2009
Ort: Metropolregion Hamburg
Beiträge: 588
robotlegs nativeWindow dispatch Probleme

Hi Community und danke fürs Lesen,

ich weiß nicht ob es die richtige Rubrik ist, gerne auch verschieben.

Ich schreibe eine kleine Anwendung mit [robotlegs] und es läuft eigentlich wunderbar.

Nur wenn ich mit einem zusätzlichen Fenster arbeite, kommt kein Event bei dem Mediator an der
für meinen View im zusätzlichen Fenster zuständig ist.

Ich habe bei nativeWindow.stage ein DisplayObjectContainer als Child und der ist mein Context fürs neue Fenster.

Der Mediator, der das Event erhalten soll, ist mein ContextMediator fürs zusätzliche nativeWindow.

Szenario:
  • Fenster poppt auf
  • addChild( DOC );
  • Context vom DOC wird registriert
  • Mediator vom contextView wird registriert --> onRegister --> traces ok!!
  • onRegister --> eventMap.mapListener(eventDispatcher, VirginEvent.COMPLETE, preview, VirginEvent);

dann:
  • Event wird abgefeuert vom Service extends Actor --> eventDispatcher.dispatchEvent(new VirginEvent(VirginEvent.COMPLETE, _bitmapData));

Nichts passiert!

Wenn ich beim Actor nachfrage:

ActionScript:
  1. FlashConnect.trace(eventDispatcher.hasEventListener(VirginEvent.COMPLETE)); // true
  2. FlashConnect.trace(eventDispatcher.willTrigger(VirginEvent.COMPLETE)); // true
  3.  



Wäre nett, wenn jemand einen kleinen Rat für mich hat. Außer wenn ich mit einem nativeWindow arbeite ist alles in Ordnung.

Gruß Daniel
__________________
just be Daniel
JUNK FOOD: JavaScript Core Reference
speedjunkie ist offline   Mit Zitat antworten
Alt 14-11-2011, 08:05   #2 (permalink)
Developer
 
Benutzerbild von malthoff
 
Registriert seit: Sep 2001
Ort: Unterhaching/München
Beiträge: 513
Mir ist die Beschreibung etwas wirr. Ich vermute ein Problem in der Reihenfolge, in der die Elemente die Bühne betreten. Kann es sein, dass zu dem Moment, wo der Mediator des einen Fensters das Event schmeisst, dass andere noch nicht auf der Bühne ist UND sich für das Event angemeldet hat?

Mit "etwas wirre Beschreibung" meine ich Deine benutzen Begrifflichkeiten. Eine Robotlegsanwendung hat im Normalfall einen Context und jede zusätzliche View seinen Mediator. Wenn Du schreibst: "Fenster poppt auf und dann erst addChild DOC... ist schon die Reihenfolge "falsch", zumindest irreführend. Vorallem wenn danach erst der Context des DisplayObjectContainers registriert wird - was ist das?

Das ist jetzt nicht angreifend gemeint sondern soll Dir zeigen, dass ich (und eventuell auch andere) den Ablauf so nicht nachvollziehen können.
malthoff ist offline   Mit Zitat antworten
Alt 14-11-2011, 08:33   #3 (permalink)
NCC 1701 D
 
Benutzerbild von speedjunkie
 
Registriert seit: Oct 2009
Ort: Metropolregion Hamburg
Beiträge: 588
Hi malthoff,

ich bin der Beschreibung von Joel Hook gefolgt, so das ich für die zweite Stage ein eigenen Context anlegen muss. Wenn ich es richtig verstanden habe.

Das zweite Fenster poppt durch User Interaktion auf, wenn der Ablauf anders ist, ist es nicht da also der Speicher frei.

Meinst Du ich sollte die zweite Stage und die DisplayList schon anlegen und dann lieber nur mit activate(); arbeiten und alles in einem Context.

ActionScript:
  1. package …
  2. {
  3.     import … 
  4.     /**
  5.      * ...
  6.      * @author Daniel
  7.      */
  8.     public class TransformStartupCommand extends Command
  9.     {
  10.         [Inject]
  11.         public var _bytesLoader:BytesLoaderForTransformTheView;
  12.        
  13.         override public function execute():void
  14.         {         
  15.             Virgin.instance; // das ist mein zweites NativeWindow
  16.            
  17.             _bytesLoader.loadBytes(); // das mein Service
  18.            
  19.             super.execute();
  20.             return;
  21.         }
  22.        
  23.     }
  24.  
  25. }
__________________
just be Daniel
JUNK FOOD: JavaScript Core Reference
speedjunkie ist offline   Mit Zitat antworten
Alt 26-11-2011, 23:30   #4 (permalink)
NCC 1701 D
 
Benutzerbild von speedjunkie
 
Registriert seit: Oct 2009
Ort: Metropolregion Hamburg
Beiträge: 588
Nachtrag:

Definitiv ist es so das View Mediator Paare bei einer Anwendung mit nur einem Context nicht gemapt werden, wenn sie einer anderer Stage angehören. Ich hatte erst mit dem Event System von Haus aus gearbeitet, um zwischen den beiden Contexts zu kommunizieren, die Abweichung vom Framework hat mir nicht gefallen und ich habe mich für das Signal-Slot-Konzept entschieden und eine Art Signal Router gebastelt.

Das funktioniert wunderbar!!!

STUFF
__________________
just be Daniel
JUNK FOOD: JavaScript Core Reference
speedjunkie ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
RobotLegs Initialisierungsprozess JoH Softwarearchitektur und Entwurfsmuster 4 30-03-2011 21:46
Walking On Robotlegs (Till Schneidereit) marc FFK11 0 02-03-2011 16:48
dispatch event hothead89 ActionScript 3 2 07-06-2010 15:42
Koordinatensystem NativeWindow ANTICHRIST Adobe AIR 5 15-04-2009 16:40
dispatch Problem pixelslave ActionScript 2 2 02-09-2007 00:38


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele