家・車以外で、人生で一番奮発した買い物

お世話になります。

IIS7.0を使用したWebシステムで、以下の問題が発生しており、原因が特定できず
困っております。

WindowServer2008 SP2 32bit版の環境です。(非R2)
プログラムは、VBScriptで記述しています。

ある画面で、以下のようなエラーが発生してしまいます。
---------------------------------------------------------------
IISログに出力されているエラーメッセージ
|800a0005|プロシージャの呼び出し、または引数が不正です。:_'Chr'
---------------------------------------------------------------

プログラム内でChr関数を使用している箇所で落ちている状態でした。
調査をしたところ、Chr関数の引数に255を超える数値が渡された場合にエラーが
発生しているようでした。
※Chr関数の引数を1ずつ足していき、256を超えたところでエラーとなりました。
 256以降の数値についても、いくつか試しましたが、全てエラーとなりました。

原因切り分けのために、「MsgBox Chr(***)」を実施する簡単なvbsファイルを
作成し、実行したところ問題なく結果も表示されました。
つまり、同じChr関数を使用してもWebアクセス時とVBScriptで作成したコマンド
ファイルからの実行で結果が異なっているように見えます。

同じサーバ構成で問題なく動作している環境があるなかで、1環境でだけこのよう
な現象が発生している状態です。
問題の出ている環境は新規に作成した環境ですので、IISの設定誤りが無いかを確認
したのですが、正常な環境と比べて問題となる点が見つかりませんでした。

Chr関数の結果に影響を与えるような設定など、何か情報を頂けると助かります。
お手数をお掛けしますが、宜しくお願い致します。

A 回答 (1件)

http://www.jb51.net/article/22380.htm

中国語読めない。読めたとしてもASP使ったことないけど。

#俺の環境Vista

ページ側のソースに@LCID = 1041を突っ込んでみるとか
http://msdn.microsoft.com/en-us/library/ie/ms525 …
コントロールパネルの「地域と言語のオプション」を見てみるとか、かなあ。

#ただ、多分本質的な解決策はChrWなりChrBなり、適切な関数に置き換えることなんだろうと思っている。暫定的な対策で動いちゃうと、本質的な解決が先延ばしにされやすいから圧力をかけたいところ。
    • good
    • 0
この回答へのお礼

情報ありがとうございました。

「地域と言語のオプション」の、「管理」タブにある「予約されたアカウントへコピー」ボタンから呼び出される「地域と言語の設定」ウィンドウにて、「既定のユーザーアカウント」と「システムアカウント」の2つにチェックを入れたところ、問題が解消しました。
「地域と言語のオプション」の「形式」や「場所」を見る限り「日本」が選択されておりましたが、システムアカウントには別の言語が設定されているようでした。今回の処置で、言語の情報がシステムアカウントにも反映され、復旧となったようです。

ただ、ご指摘ありましたように、根本的な解決はChrWへのプログラム修正だと思っています。機会があるときに、プログラムの修正を検討したいと思います。(こうすると、先延ばしになってしまいそうで、よろしくないのですが…)

お礼日時:2012/02/03 17:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報