Die Umwandlung eines abgerufenen Mediators in PureMVC in seine richtige Klasse gibt null zurück

StackOverflow https://stackoverflow.com/questions/3258156

  •  16-09-2020
  •  | 
  •  

Frage

Ich habe einen Vermittler, den ich für eine Navigationsseite registriert habe:

facade.registerMediator(new NavPageMediator(viewComponent));

Ich versuche, diesen Mediator auf einer anderen Seite wie folgt abzurufen:

var navPageMediator:NavPageMediator = facade.retrieveMediator(NavPageMediator.NAME) as NavPageMediator;

Diese Aussage wird jedoch zurückgegeben null.Wenn ich versuche, es mit dem zu wirken NavPageMediator(facade.retrieveMediator(NavPageMediator.NAME)) Syntax stattdessen bekomme ich eine

TypeError: Error #1034: Type Coercion failed: cannot convert com.website.mvc.view.page::NavPageMediator@237560a1 to com.website.mvc.view.page.NavPageMediator.`

Ich kann beim besten Willen nicht verstehen, warum NavPageMediator@237560a1 wäre nicht in der Lage, zu konvertieren NavPageMediator, noch was zwischen der Registrierung des Mediators und seiner Abholung passiert ist, die dies verursacht hat.Besonders seit trace(new NavPageMediator() as NavPageMediator); kehrt zurück [object NavPageMediator].

Übrigens, und das könnte Teil meines Problems sein, verstehe ich nicht, was der @hash am Ende des Objekts ist (@237560a1).Ist es einfach eine interne Kennung für diese Klasseninstanz?

Bearbeiten:Habe ein paar wichtige Infos hinterlassen:Die SWF-Datei, in der ich den Mediator instanziiere und registriere, ist von der SWF-Datei getrennt, in der ich versuche, ihn abzurufen.

War es hilfreich?

Lösung

Herausgefunden.Es stellte sich heraus, dass es sich um ein ApplicationDomain-Problem handelte.Das Problem wurde gelöst, indem beide SWFs (der Registrant und der Retriever) derselben Domäne zugewiesen wurden.

Außerdem bin ich mir ziemlich sicher, dass der @hash am Ende des Klassennamens ein interner Verweis auf die ApplicationDomain ist, zu der die Klasse gehört.Also NavPageMediator@237560a1 war in einer anderen Domäne als NavPageMediator (Warum es beim zweiten keinen Hash gab, weiß ich immer noch nicht;das hätte die Sache etwas klarer gemacht).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top