2012-03-26 8 views
0

Ich versuche Selektor zu verwenden (um Ereignis zu filtern, wenn Befehl Objekt das Ereignis empfängt, aber niemals aufgerufen wird !! hilfe hier meine Code-Teile: Inmy context Datei:selector funktioniert nie auf petersilie 3.0 framework, also wird der Befehl niemals aufgerufen

<MapCommand type="com.pz.events.FolderEvent" selector="folderDelete"> 
     <Command type="com.pz.command.DeleteFolderCommand"/> 
    </MapCommand> 

dipatching Ereigniscode Stücke:

dispatchEvent(new FolderEvent(FolderEvent.FOLDER_DELETED,targetRoot.selectedItem)); 

MetaTag:

[Event(name="folderDelete",type="com.pz.events.FolderEvent")] 
[ManagedEvents("folderCreate,folderDelete,folderOpen,folderClose,folderRelocate")] 

Antwort

2

Das Problem liegt wahrscheinlich in Ihrer Konfigurationsdatei. Das Attribut type des Tags MapCommand ist kein Nachrichtentyp, sondern ein Befehlstyp. Für Nachrichten messageType Attribut wird verwendet.

So MXML-Code sollte wie folgt aussehen:

<MapCommand messageType="com.pz.events.FolderEvent" selector="folderDelete"> 
    <Command type="com.pz.command.DeleteFolderCommand"/> 
</MapCommand> 

Oder diese:

<MapCommand type="com.pz.command.DeleteFolderCommand" messageType="com.pz.events.FolderEvent" selector="folderDelete"/>