2009-06-08 9 views
0

Ich brauche hier dringend Hilfe. Ich schreibe eine Anwendung in Flex 3, die eine TileList mit einem benutzerdefinierten itemRenderer verwendet, um Informationen von einem Dienst anzuzeigen. Leider stoße ich auf eine Ausnahme mit dem Drag/Drop/Rearrangle-Teil der TileList. Mit dragenabled und dragmoveenabled, erhalte ich eine voll reproduzierbare Ausnahme bei dem Versuch, die Fliesen in der Steuerung neu zu ordnen:Flex 3 TileList Drag/Drop/Re-Order-Ausnahme. Wie ordne ich Kacheln neu an?

Ausnahme:

ArgumentError: Error #2004: One of the parameters is invalid. at flash.utils::ByteArray/writeObject() at flash.desktop::Clipboard/putSerialization() at flash.desktop::Clipboard/convertFlashFormat() at flash.desktop::Clipboard/setData() at mx.managers::NativeDragManagerImpl/doDrag()[C:\autobuild\3.2.0\frameworks\projects\airframework\src\mx\managers\NativeDragManagerImpl.as:282] at mx.managers::DragManager$/doDrag()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\DragManager.as:243] at mx.controls.listClasses::ListBase/dragStartHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:9085] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9298] at mx.controls.listClasses::ListBase/mouseMoveHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:8822]

Hier ist der Code für den benutzerdefinierten TileList:

<cmp:MemoTileList itemRenderer="CoverNote" dragEnabled="true" itemsChangeEffect="{this.myTileListEffect}" backgroundAlpha="0" id="memoList" dataProvider="{this.management.memoCollection}" right="0.049865723" left="0.05" top="0" bottom="0" focusEnabled="false" focusAlpha="0" borderStyle="none" direction="horizontal" textAlign="left" allowMultipleSelection="false" showEffect="fadeIn" hideEffect="fadeOut" effectEnd="fadeOut" effectStart="fadeIn" dragDrop="onReorder(event)" dragMoveEnabled="true"> 
</cmp:MemoTileList> 

Hier ist der Code für den onReorder (Ereignis):

Wenn ich versuche, zu debuggen, scheint der Debugger mir keinen Code anzuzeigen, der fehlerhaft sein könnte.

Kann mir jemand die richtige Richtung zeigen, wie man das löst?

Vielen Dank im Voraus!

Tajddin

+0

Scheint, Sie haben auf einer der Fehler von AIR Runtime festgefahren. Der Fehler tritt irgendwo tief in NativeDragManager auf und scheint Ihre onReoder-Methode nichts damit zu tun zu haben. Ich würde sagen, dass der Inhalt der Kachelliste die AIR Runtime bricht. – Hrundik

Antwort

0
ArgumentError: Error #2004: One of the parameters is invalid. 

ist einer dieser Meldungen „können, was auch immer sein“, (

Ich erinnere mich, ich hatte es nicht lange her, da eine Funktion falsch geschrieben und sogar ganz gut zusammengestellt Eclipse-obwohl es shouldn (habe einen Neustart von Eclipse hier geholfen, aber es dauerte eine Weile, bevor ich herausgefunden habe ..).

Mein Tipp ist es, Code zu entfernen, bis es funktioniert und wieder hinzufügen, überprüfen Sie auch die Nummer Natürlich ist es ein "seltsamer" Bug, du kennst einen von denen, "musst t rufen hese zwei Funktionen in einer bestimmten Reihenfolge "und was nicht. Viel Glück!

Andere Geschichten über die # 2004;

http://www.coldfusioncommunity.org/profiles/blog/show?id=1439641%3ABlogPost%3A14565 http://blog.3alves.com/blog/post/2007/09/19/argumenterror-error-2004.aspx

Dieser war interessant; http://code.google.com/p/flexlib/issues/detail?id=113#c3