Je suis nouveau sur Flex et Cairngorm.Quand j'utilise ServiceLocator, je rencontre le problème: Erreur: C0001E: Une seule instance de ServiceLocator peut être instancié.Erreur Flex et Cairngorm: C0001E: Une seule instance de ServiceLocator peut être instanciée
Mon code est comme ceci:
En Serives.mxml:
<cairngorm:ServiceLocator xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:cairngorm="com.adobe.cairngorm.business.*">
<mx:HTTPService id="statistServ"
url="rooms.xml"
showBusyCursor="true"
method="POST"
resultFormat="array"/>
En Delegate.as, j'ai des extraits:
this.service = ServiceLocator.getInstance().getHTTPService(”statistServ”);
En Main.xml , extraits comme:
<business:Service id="service" />
ce merveilleux petit message d'erreur apparaît la minute où je charge une seconde instance de certains modules qui nécessite httpservice.
Est-il possible de résoudre ce problème sans passer à un autre cadre?
Best Wishes,
Shuo de la Chine
Merci, Stiggler! Dans mon module, j'ai dans Main.mxml. Chaque fois que j'ouvre le module, j'instancie réellement un serviceLocator. Comme nous le savons, ServiceLocator valide une variable statique pour voir si une instance a déjà été créée dans son constructeur. Mais je pense que le constructeur ServiceLocator devrait être privé mais courant AS3 .0 ne le permet pas. Alors, est-il possible de résoudre ce problème? Comme le module est utilisé tout à fait. Merci beaucoup! Cordialement, Shuo –
Shuo
Merci encore, Stiggler! J'ai résolu mes problèmes en plaçant dans le MXML principal de l'application au lieu du module MXML. Vous êtes très utile! Bonne chance! Shuo de la Chine –
Shuo
Je suis heureux que je pourrais aider. Si vous pensez que cette question a reçu une réponse complète, s'il vous plaît allez-y et marquez la réponse comme acceptée. – Stiggler