2007-03-10
■ [dnako]グループ動的生成時動かないイベントがある
以前は「作成」命令の方からたどって原因がわからなかったので、今度はグループメンバ検索の方からたどることに。
で、調べたところ動くイベント(クリックした時)はnako_group_findMemberを使ってグループを検索していました。
動かないイベント(マウス~~した時)はnako_getGroupMemberを使っていました。
前者では直接グループ変数を関数に渡して、そこからメンバを探しているのに対し、後者では変数名(文字列)を渡して、それをTHiSystem.GetVariableでグループ変数を探してからメンバを検索します。
このTHiSystem.GetVariableは、ローカルスコープ、グローバルスコープ、グローバル(別ネームスペース?)の順で検索するのですが、どうやら動的生成したものの場合、その検索が失敗してるようです。
おそらく、動的生成した時にスコープに変数を登録していないのだと思うんですが、どこをどういじったもんでしょう。
グループだからグローバルスコープのような気もしますが、作成先の変数がローカルスコープならそれに従った方がいいような気もします。
追記:
サンプルコードでは問題はないようですが……
さらに追記: