記事一覧

疲。

本日は「The Hand」対応、と言うことで
大量にゴーストが入って起動の重いSSPではなく
まだほとんどゴーストを入れてない奴に新規インストールして。
なぜかインストール終了のトークがなかったんだけど
メニューにはちゃんとでていたので呼びだしてみる。

他のゴーストの時は「変ってるなー。おもしろいなー」だったけど
54だとシャレにならない…。

対ユーザー以外の反応を想定して無いため
なんだか手とラブラブモードというか、異様な世界に。

華和梨のログは取って置いたし配布サイトにもリクエスト名とか色々あるし
さくっと対処するか、と華和梨のログを見始めたら。
OnInstallCompleteが来てない…。

この件はもにゃもにゃで報告とかパスなので自力でなんとかすることに。
OnInstallCompleteExは来てるわけだから、これを細工すればよい、と。

Reference0とReference1が1つしか入らないときは元々問題ない訳なので
2つ以上入ったときの切り分け作業。
これは$(chr 1)でsplitしてうまくいったんですが…今度は華和梨の仕様が立ちはだかる。

最初組んで「うまく動いてるなー」と続けてインストールすると
前のゴースト名だのバルーン名が残ってしまう。
該当文書を見つけられなかったんだけど、確か華和梨は8から
split時にエントリに「追記」していく形を取ってて
1回目のエントリ[0]と2回目のsplit後のエントリ[0]は違ってくるとかあった気が。
うろ覚えだけど出てる現象とマッチしてるので
毎回split前に、Reference?の分割結果収納エントリをclearして。

なのになぜ治らない…。
最終的にここまでスパゲティ構造になりましたがどうにもならず。
頭抱えてるうちにふと「毎回違うエントリにsplitして詰め込めばよいのでは?」と着想。
これがうまくいってようやく解決しました。

結局半日以上かかった…しかも54だけの問題ではなくなったので
遺物FUDSも更新。こちらはちょうど処理ミス、処理抜けを見つけてたり
こっそりネットワーク更新をオプションで入れたりも出来たのでまあ結果オーライ。

肝心のおててに対応してないけどね…。

続き
スパゲティソース整理中にふと気が付いて試してみた処理。
event.OnInstallCompleteEx : ${Enc.CompleteEx}$(if
$[ ${System.Request.Reference0} =~ "ghostballoon" ] ${TalkInstallghost}
else if$[ ${System.Request.Reference0} =~ "shellballoon" ] ${TalkInstallshell}
else$(
setstr InstallName ${System.Request.Reference1})$(KawariName.fix1)$(
entry "TalkInstall"${System.Request.Reference0})
)
Enc.CompleteEx : $(if
$[ ${System.Request.Reference1} =~ $(chr 1) ] $(
setstr InstallName $(
sub ${System.Request.Reference1} $(chr 1) "とバルーン"))
)

こっちのがはるかに省コストなんだよねぇ…。
ただし、テンプレートでghost with balloonと
shell with balloonのトークを変更できないので没。

それと、このテストの間ずーっとログを取ってその結果と見比べつつ処理してたのですが
その間中ずーっと正常にOnInstallCompleteが来てました!

もしかすると環境依存とかでそれもめったに起きないような極レアエラーに、
偶然ログ取ってるときにぶつかったりしたのだろうか?
だとしたら救われないなぁ…。

タグ:The Hand

トラックバック

この記事のトラックバックURL
http://giftbox.pa.land.to/Aigis/diary-tb.cgi/59

トラックバック一覧