お世話になります。
アクティブベーシック Ver.2.62では
「Dim a$(1000000) As String」の1行を
コンパイル可能ですが、
アクティブベーシック Ver.4.1.β2では
「Dim a$(1034) As String」の1行の
コンパイルまでは可能ですが
「Dim a$(1035) As String」は
メモリ関連のエラーメッセージが表示され
コンパイルができません。
今後のベーシックではポインタ関連の機能を使わなければ、
配列変数(数万件レベル)の処理は不可能なのでしょうか?
配列変数定義の上限値について
Re: 配列変数定義の上限値について
今までもこの問題は何度も持ち上がっています。
コンパイラのバグの可能性が高いですが,山本さんからこの件について今まで回答があったことは(確か)なかったです。
恐らく山本さんにとっても原因不明なのでしょう。
とりあえずは,ポインタを使って対応するしかないでしょう。
コンパイラのバグの可能性が高いですが,山本さんからこの件について今まで回答があったことは(確か)なかったです。
恐らく山本さんにとっても原因不明なのでしょう。
とりあえずは,ポインタを使って対応するしかないでしょう。
' ============================================================
' Sinryow Game Home Page - http://www.sinryow.net/
' Sinryow ActiveBasic Center - http://ab.sinryow.net/
' ============================================================
' Sinryow Game Home Page - http://www.sinryow.net/
' Sinryow ActiveBasic Center - http://ab.sinryow.net/
' ============================================================
自分の環境でも単純に宣言すると、1018件でエラーになり、1030件でコンパイラが応答しなくなりました。
あまり早くはないですが、TYPEで宣言すると100万件でもOKでした。
あまり早くはないですが、TYPEで宣言すると100万件でもOKでした。
コード: 全て選択
Const xMax=1000000
Type xxx
a As String
End Type
dim t[xMax] as xxx
dim i As DWord
'
For i=0 To xMax
t.a = Str$(i)
Next
MsgBox 0, "Max=" & t[xMax].a