flex 修正してもエラー
2011/07/21
修正後、デバッグしてもエラーが消えない。その対策。
リロードしまくる。
適当な箇所に任意の文字を修正するなり追加するなりしてデバッグ。
ブラウザでその任意の文字修正の確認が出来ればOK。確認が出来ないならリロード。…ひたすらリロード。
リロード後、任意の文字修正の確認が出来れば閉じて、Flexに戻り再度デバッグ。
適当な箇所に任意の文字を修正するなり追加するなりしてデバッグ。
ブラウザでその任意の文字修正の確認が出来ればOK。確認が出来ないならリロード。…ひたすらリロード。
リロード後、任意の文字修正の確認が出来れば閉じて、Flexに戻り再度デバッグ。
メモ
「flex DBから検索したい」でエラーがでた。
「flex DBから検索したい(改)」のような感じで修正したけどエラーが消えない。
やろうとしていることは「DBに接続してデータ出力」「検索してその結果を出力」「データを修正する」って感じ。
「DBに接続してデータ出力」→「データを修正する」の流れだと問題なし。
「DBに接続してデータ出力」→「検索してその結果を出力」→「データを修正する」の流れでエラーがでる。
エラーの内容は下記。
- TypeError: Error #1034: 強制型変換に失敗しました。Object@e0a6071 を mx.data.IManaged に変換できません。
- at mx.data::DataList/getItemIndex()[C:\depot\DataServices\branches\milestone\lcds45_fb45\frameworks\projects\data\src\mx\data\DataList.as:386]
- at mx.collections::ListCollectionView/getItemIndex()[E:\dev\hero_private\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:678]
- at mx.collections::AsyncListView/getItemIndex()[E:\dev\hero_private\frameworks\projects\framework\src\mx\collections\AsyncListView.as:732]
- at spark.components::Grid/updateCaretForDataProviderChange()[E:\dev\hero_private\frameworks\projects\spark\src\spark\components\Grid.as:4131]
- at spark.components::Grid/dataProvider_collectionChangeHandler()[E:\dev\hero_private\frameworks\projects\spark\src\spark\components\Grid.as:4313]
- at flash.events::EventDispatcher/dispatchEventFunction()
- at flash.events::EventDispatcher/dispatchEvent()
- at mx.utils::OnDemandEventDispatcher/dispatchEvent()[E:\dev\hero_private\frameworks\projects\framework\src\mx\utils\OnDemandEventDispatcher.as:79]
- at mx.collections::AsyncListView/set list()[E:\dev\hero_private\frameworks\projects\framework\src\mx\collections\AsyncListView.as:157]
- at mx.binding::Binding/defaultDestFunc()[E:\dev\hero_private\frameworks\projects\framework\src\mx\binding\Binding.as:270]
- at Function/http://adobe.com/AS3/2006/builtin::call()
- at mx.binding::Binding/innerExecute()[E:\dev\hero_private\frameworks\projects\framework\src\mx\binding\Binding.as:475]
- at Function/http://adobe.com/AS3/2006/builtin::apply()
- at mx.binding::Binding/wrapFunctionCall()[E:\dev\hero_private\frameworks\projects\framework\src\mx\binding\Binding.as:385]
- at mx.binding::Binding/execute()[E:\dev\hero_private\frameworks\projects\framework\src\mx\binding\Binding.as:321]
- at mx.binding::Binding/watcherFired()[E:\dev\hero_private\frameworks\projects\framework\src\mx\binding\Binding.as:501]
- at mx.binding::Watcher/notifyListeners()[E:\dev\hero_private\frameworks\projects\framework\src\mx\binding\Watcher.as:311]
- at mx.binding::PropertyWatcher/eventHandler()[E:\dev\hero_private\frameworks\projects\framework\src\mx\binding\PropertyWatcher.as:377]
- at flash.events::EventDispatcher/dispatchEventFunction()
- at flash.events::EventDispatcher/dispatchEvent()
- at mx.rpc::CallResponder/set lastResult()
- at mx.rpc::CallResponder/result()[E:\dev\hero_private\frameworks\projects\rpc\src\mx\rpc\CallResponder.as:120]
- at mx.rpc::AsyncToken/http://www.adobe.com/2006/flex/mx/internal::applyResult()[E:\dev\hero_private\frameworks\projects\rpc\src\mx\rpc\AsyncToken.as:239]
- at mx.rpc.events::ResultEvent/http://www.adobe.com/2006/flex/mx/internal::callTokenResponders()[E:\dev\hero_private\frameworks\projects\rpc\src\mx\rpc\events\ResultEvent.as:207]
- at mx.data::ConcreteDataService/http://www.adobe.com/2006/flex/mx/internal::dispatchResultEvent()[C:\depot\DataServices\branches\milestone\lcds45_fb45\frameworks\projects\data\src\mx\data\ConcreteDataService.as:3715]
- at mx.data::DataListRequestResponder/result()[C:\depot\DataServices\branches\milestone\lcds45_fb45\frameworks\projects\data\src\mx\data\DataListRequestResponder.as:105]
- at mx.data::RPCDataServiceAdapter/sendResultEvent()[C:\depot\DataServices\branches\milestone\lcds45_fb45\frameworks\projects\data\src\mx\data\RPCDataServiceAdapter.as:1593]
- at mx.data::RPCDataServiceAdapter/executeQueryResult()[C:\depot\DataServices\branches\milestone\lcds45_fb45\frameworks\projects\data\src\mx\data\RPCDataServiceAdapter.as:1527]
- at mx.collections::ItemResponder/result()[E:\dev\hero_private\frameworks\projects\framework\src\mx\collections\ItemResponder.as:129]
- at mx.rpc::AsyncToken/http://www.adobe.com/2006/flex/mx/internal::applyResult()[E:\dev\hero_private\frameworks\projects\rpc\src\mx\rpc\AsyncToken.as:239]
- at mx.rpc.events::ResultEvent/http://www.adobe.com/2006/flex/mx/internal::callTokenResponders()[E:\dev\hero_private\frameworks\projects\rpc\src\mx\rpc\events\ResultEvent.as:207]
- at mx.rpc::AbstractOperation/http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()[E:\dev\hero_private\frameworks\projects\rpc\src\mx\rpc\AbstractOperation.as:244]
- at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::resultHandler()[E:\dev\hero_private\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:318]
- at mx.rpc::Responder/result()[E:\dev\hero_private\frameworks\projects\rpc\src\mx\rpc\Responder.as:56]
- at mx.rpc::AsyncRequest/acknowledge()[E:\dev\hero_private\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:84]
- at NetConnectionMessageResponder/resultHandler()[E:\dev\hero_private\frameworks\projects\rpc\src\mx\messaging\channels\NetConnectionChannel.as:552]
- at mx.messaging::MessageResponder/result()[E:\dev\hero_private\frameworks\projects\rpc\src\mx\messaging\MessageResponder.as:235]
「強制型変換に失敗」ってことなんでどっかで失敗してるってのはわかるんだけど、どこで失敗してるのかがわからなかった。
あれこれ見ていて、ふと気づいて試したのが「flex DBから検索したい(改)」。
本来ならコレでエラーが消えるんだけどブラウザのキャッシュに残ってるFlashを再生(?)してたっぽく、いつまでもエラーが消えてくれなかった…。