引数に長い文字列を指定したときの奇妙なエラー

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 引数に長い文字列を指定したときの奇妙なエラー

by 山本 » 2006年10月08日(日) 01:39

詳細のご報告、ありがとうございます。こちらでも再現できました。原因もわかりましたので、次回のバージョンアップで修正させてもらいます。

自己レスです

by hira » 2006年10月07日(土) 23:07

先ほどは大きな勘違いをしていまして。
Ifの条件に入れるのを忘れていました。 このコードで「閉じカッコの後に…」というエラーが発生します(当方では確実に発生)。
よろしくお願いします。
※If~End Ifの間にはコードがあってもなくてもエラーになります

by hira » 2006年10月07日(土) 15:34

そのときは このコードでエラーになったのですが、今実行するとなぜかうまくいきました。
理由は定かではありませんが、PCの調子が悪かっただけなのかもしれません。
ご迷惑をおかけしました。

by 山本 » 2006年10月05日(木) 17:46

こんにちは。山本です。こちらでも200バイト以上の文字列で動作検証を行いましたが、そのような不具合に遭遇することはありませんでした。長さだけでなく、文字列データの性質にも関係がありそうですので、問題が起きる文字列をご指定していただけますでしょうか?

お手数をおかけしてしまいますが、よろしくお願い致します。

引数に長い文字列を指定したときの奇妙なエラー

by hira » 2006年10月03日(火) 21:18

コード: 全て選択

If MessageBox(0,[およそ200バイト以上の文字列],"AucMon",MB_ICONEXCLAMATION Or MB_YESNO)=IDNO Then
	End
End If
↑[およそ200バイトの文字列]には実際にはリテラル文字列が入ります。

これで、なぜか「閉じカッコ ")" の後に不正な文字が含まれています」エラーになり、さらに場合によっては「"MB_YESIDNO" 無効な識別子です」などという意味のわからないエラーまで発生してしまいます。
「200バイト」というのは第3引数の長さなどによっても変わってきますが、上のコードではピッタリ200バイトまではOKで、201バイト以上では上のような奇妙なエラーが発生します。
WindowsXP Home(SP2)、ActiveBasicはVer 5.00.00(CP2) 及び Ver 4.24.00 でこの現象の発生を確認しました。

ページトップ