String型の値が528バイト程度でコンパイラがクラッシュする

返信する


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

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

トピックのレビュー
   

展開ビュー トピックのレビュー: String型の値が528バイト程度でコンパイラがクラッシュする

Re: String型の値が528バイト程度でコンパイラがクラッシュする

by 淡幻星 » 2006年4月02日(日) 17:21

あまり参考になる意見ではないかもしれませんが…。
このエラーはVer3.xの時代から、私の環境(Win2000)でもずっと起きてました。
(たぶんこちらも500Byte超えあたりでエラーしていた気がします)


仕様だと思って、長い文字列(目安256Byte)を扱うときは、
BytePtr+calloc+freeを使って明示的に動的確保してました。
もっとも、軽くString型の定義を見た感じでは、
扱う文字列の長さに上限は無いような組み方をしているようなので、
バグなのかもしれませんが…。


(ちなみに、Ver2.x時代は4KByteあたりでクラッシュしてました。
 なので、もともとString型は大容量に対しては落ちるもの、という認識でして、
 Ver3.x以降は「その上限が小さくなった」くらいに思ってスルーしてました^^;)

追記

by ganas » 2006年4月02日(日) 12:08

ActiveBasicはバージョンが 4.23.00 です。

String型の値が528バイト程度でコンパイラがクラッシュする

by ganas » 2006年4月02日(日) 03:04

こんにちは。
ゲームを作っていて、画面上に表示されるメッセージのプログラムを書いています。そのメッセージを代入するのには、String型が可変長であるため、使用していました。

(詳細に計算はしていないのでわかりませんが)半角(¥マークと英単語)と全角(日本語・英単語・数字問わず)が混じっている、合計528バイトになったメッセージを含めて、コンパイルしようとすると、コンパイラがクラッシュするようです(一定量までメッセージを(どれでもかまわず)削ると正常動作)。

これはバグでしょうか。

ページトップ