Spider Monkey Panel の一部の互換性
何か Spider Monkey Panel (以下、SMP)だと思ったようにコードが動かない。
ちょっと触って気付いたことをメモがてら書いておく。
・ActivXObjectがまともに機能しない場合が多い。
基本的な WScript.Shell の Environment プロパティが機能しなかったり、WMPlayer.OCXではControlsプロパティが存在しないようなエラー吐くがtry句でControls.Play()を実行してみるとエラー吐きつつも正常動作するような事が起こる。
厳しいのがADODB.Stream の Read() がエラー吐いて止まること。
ReadText()、WriteText()なんかは動くがそもそもReadが使えないと色々遠回りな書き方をしなければいけなくなる。
一応書いてみようと試みるも今度はBinaryStringが生成できない問題に当たった。
・BinaryStringが生成できない。
String.fromCharCode(0,82);
WSH PanelとJScript Panel ではきちんとCharCode(0)が文字として取得でき、例えばADODB.StreamのWriteText()などで期待通りに出力できる。しかしSMPだとこれが出来ずBinaryStringを扱うのが実質不可能になっている。
Uint8Arrayなどで任意のArrayBufferを生成してもADODB.StreamやXMLHTTPで扱えないっぽいし、BinaryStringの問題で保存も送信も手段がなく、結局遠回りな書き方も無駄だった。
前者も後者もSpider Monkey Panelの問題だと思うがどうにかならないのかなこれ。
ほとんどのスクリプトでは影響ないが、例えば Lyric Show Modoki のViewLyricsプラグイン(送受信するデータをバイト単位で操作する必要がある)はこの問題が両方解決しないと機能しない。
| foobar2000 | 21:12 | comments:5 | trackbacks:0 | TOP↑
移行の試みありがとうございます。
上記のエラーをSPMのGithub issueに投げてみました。
修正されたらまたお知らせ致します。
| 外人@tokyo | 2019/08/31 22:35 | URL |