--

--

コメント

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
管理者にだけ表示を許可する

この記事のトラックバックURL

http://miste.blog6.fc2.com/tb.php/71-98f82508

06

20

コメント

スクリプトメモ02

XSIでツール作ってると、ツールのUIを構築することが結構あるかと思います。

スクリプトのレイアウト関係はjunkiさんのブログで友愛の記事を参考にすれば、すごく捗るかと思います。
もうjunkiさんのブログには足向けて眠れないくらい参考にさせてもらってます。まじリスペクト。

ただ、最近選択したオブジェクトのとあるN個あるプロパティ数パラメーターをUIにぶち込み、そのパラメーターからの値を実行する処理に反映させたいスプリクトを書く場面がありました。

レイアウトを宣言したカスタムプロパティのパラメーターは基本的にPPG.ScriptName.Valueでとってこれるんですが、パラメーターの数がN個の場合、ScriptNameを決めうちでとってこれない。

レイアウト構築用のカスタムプロパティを実体のある形式のカスタムプロパティにすれば、自分で決めたプロパティを取ってきて、中のパラメーターをループでアクセスすれば何の問題もないのですが、

無駄なものを極力残しておきたくないので、やっぱり XSIFactory.CreateObject ( "CustomProperty" ); こっちを主に使ってます。

そんでSDKと睨めっこした結果 PPG.Inspected; これに行き着きました。

PPG.Inspected;を使うとInspectされたプロパティのコレクションが帰ってきます。

XSIFactory.CreateObject ( "CustomProperty" );で作ったUIのパラメーターを弄るとSetValue("customparamset<ランダムな数値>.パラメーター名"以下略  ってログが記録されるかと思います。

その customparamset<ランダムな数値> を取得できるわけです。



これさえとってこれれば、とってきたUIのプロパティに.Parametersでプロパティ内のパラメーターコレクションを取得し、ループして、名前がわからないUI内のパラメーターにもアクセスして値をとってこれるわけです。

まあ、これより簡単なN個あるパラメーター取得の迂回方法ありそうだけど・・・・。

誰か知ってたら教えてください。
スポンサーサイト
管理者にだけ表示を許可する

この記事のトラックバックURL

http://miste.blog6.fc2.com/tb.php/71-98f82508

Designed by

Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。