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

ActiveBasicのバグと思われる不具合を発見された方は、こちらから知らせていただけると助かります。
返信する
メッセージ
作成者
ganas
記事: 19
登録日時: 2006年3月04日(土) 00:39

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

#1 投稿記事 by ganas »

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

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

これはバグでしょうか。
ganas
記事: 19
登録日時: 2006年3月04日(土) 00:39

追記

#2 投稿記事 by ganas »

ActiveBasicはバージョンが 4.23.00 です。
淡幻星
記事: 183
登録日時: 2005年7月19日(火) 07:02
お住まい: 宮城県
連絡する:

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

#3 投稿記事 by 淡幻星 »

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


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


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