2009-06-08 2 views
0

나는 여기에 도움이 필요하다. Flex 3에서 사용자 정의 itemRenderer가있는 TileList를 사용하여 서비스의 정보를 표시하는 응용 프로그램을 작성했습니다. 불행히도, 나는 TileList의 드래그/드롭/재배치 부분에 예외가 있습니다. 컨트롤에 타일을 재 배열 할 때로 dragEnabled 및 dragMoveEnabled으로, 나는 완벽하게 재현 예외가 나타날 수플렉스 3 TileList 드래그/드롭/재 배열 예외. 타일을 어떻게 재 배열합니까?

예외 :

:

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]

여기에 사용자 정의 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> 

다음은 onReorder (이벤트) 코드입니다.

private function onReorder(event:DragEvent):void{ 
      var indexStartDrag:Number = event.currentTarget.selectedIndex 
      var indexStopDrag:Number = this.memoList.calculateDropIndex(event); 
      Alert.show(indexStopDrag.toString()); 

} 

디버깅을 시도 할 때 디버거가 내게 결함이있는 코드를 표시하지 않는 것 같습니다.

누구든지 해결 방법에 관해 올바른 방향을 제시 할 수 있습니까?

미리 감사드립니다.

Tajddin

+0

AIR 런타임의 버그 중 하나를 고수 한 것 같습니다. NativeDragManager의 어딘가에서 오류가 발생하며 onReoder 메서드가 아무 관계가없는 것처럼 보입니다. 타일 ​​목록의 내용이 AIR 런타임을 중단시키는 것입니다. – Hrundik

답변

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

그 중 하나입니다 메시지 "무엇이든 할 수있다"나는 내가 그것을하지에 오래 전에 한 기억 (

을, 일부 기능을 맞춤법이 틀린, 심지어는 shouldn하지만 잘 컴파일 이러한 Eclipse .. t는 .. (일식 다시 시작하는 데 도움이되었지만 .. 내가 알아 내기 전에 시간이 좀 걸렸습니다.)

팁은 작동 할 때까지 코드를 제거하고 다시 추가하거나 번호를 확인하는 것입니다. 매개 변수의 "이상한"버그, 그 중 하나를 알고, "t 호출해야합니다. hese 두 가지 기능을 특정 순서대로 "라고합니다. 행운을 빕니다!

# 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

이 사람은 흥미로웠다; http://code.google.com/p/flexlib/issues/detail?id=113#c3

관련 문제