AIR: 2008年9月アーカイブ

知らなかった


NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, listener);
もしくは、
WindowedApplication.addEventListener(InvokeEvent.INVOKE, listener);

とかしたら、

InvokeEvent#argmentsに引数がArray型で取得できる。


引数には、実行コードは含まず、インストール時に作成されたショートカットとかで起動した場合は、
lengthが0になってる。


ユーザに実行時引数をつけろとかいうのは大変だけど、ショートカットを右クリック -> プロパティでパスの最後に引数を追加すればokなので、管理者が管理モードで起動とかならいいかもね


引数は基本的には、スペースで区切られて、具体的には、

引数

配列

tick tock

{tick,tock}

tick "tick tock"

{tick,tick tock}

"tick" "tock"

{tick,tock}

\"tick\" \"tock\"

{"tick","tock"}


となるらしい。



<参考>
Adobe AIR * アプリケーションの起動および終了オプション
Adobe® Flex™ 3 リファレンスガイド


DataGridにはないけど、AdvancedDataGridには、ヘッダ部分にソート順を表す数値を示すスペースがある。

でもこのスペースと縦棒、sortableColumns=falseの時は、空気を読んで消えて欲しい。




んで、たまたま「あわせて読みたい」に載ってるサイト見てたら解決法が載ってるではないか!!


id:kkanda さんによると、sortExpertModeをtrueにすればいいとのこと。


さっそく試してみたところ


ホントだー!!!しかも動的にも変えれるんだーってことがわかりました。
月曜日会社に行ったら直しとこ♪

以下、サンプル(ソースは 右クリック -> ソースの表示)






<参考>
[flex][as3] AdvancedDataGridのヘッダに表示される縦線を消す方法

ずっと「未公開(原稿)」になってたのに気づかなかった(´・ε・`)


まずは、ActionScript3でのXMLの操作について、

例えば、次のようなXMLがあって




そのインスタンスとして、employees:XMLがあるとしたら、

・値を取り出す。

・属性を取り出す。

・XMLListを取り出す。(表示される結果は、XMLListオブジェクトのtoString()の結果)

・深さを指定せずに、子・孫など全ての子孫の特定の値、属性を対象に取り出す。

・"*"を使用し、全ての子孫を取り出す。 

・変数を使って動的に値を取り出す。 

・XMLListから拡張for文で値を取り出す。




で、ここまではAPIリファレンスにも載ってる基本で、

ここからが問題


AS3ではこういう風に、簡単にXMLを扱えるんだけど、XMLにxmlns属性がついていると、ちょっと気をつけなければいけない。

例えば、上記のXMLが以下のようになっていたら、



今まで通りの方法では値を取り出すことが出来ず、さっきまでemployeeって書いていたところが、http://employees.com::employeeみたいな書き方をしなければならないらしい。

こんな方法はめんどくさいので、xmlnsが指定してある場合は、



みたいにしてやると今まで通りの書き方をすれば大丈夫!!



<参考>
Adobe® Flex™ 3 リファレンスガイド
kanesi.jp » Blog Archive » 【ActionScript3】XML名前空間でハマった!の巻


<あわせて読みたい、後で読む>
akihiro kamijo: XML 要素の操作
XML の扱い方いろいろ|_level0.CUPPY

iKnow

あわせて読みたいブログパーツ
Firefox meter