FAQ

ERR=0008が発生するのは?

PUBLICステートメントで宣言した配列変数を参照すると、実行エラー0008h(配列が宣言されていません)が発生します。何が原因ですか?

<原因>
実行エラー0008hは、PUBLICステートメント実行以前に、ワーク配列変数を参照したことが原因で、発生します。
デフォルトでは、PUBLICステートメント実行時に、ワーク配列変数の領域が確保されますので、PUBLICステートメント実行後、変数を参照できるようになります。
PRIVATEステートメント、GLOBALステートメントも同様です。

例えば、以下のプログラム例では、「programA.src」→「programB.src」の順で実行されれば正常に動作しますが、「programB.src」→「programA.src」の順で実行されると、実行エラー0008hとなります。

[programA.src]
  Public Array1$(10)

[programB.src]
  Array1$(0) = "11111"
  Array1$(1) = "22222"

<対処方法>
必ず、PUBLICステートメントを先に実行するようなプログラムとしてください。
あるいは、コンパイルオプションを指定して、配列変数の領域をアプリケーション起動時に確保してください。
配列変数の領域をアプリケーション起動時に確保するには、BHT-BASIC4.0コンパイラのプロジェクトの設定オプションで「ローカルスコープ以外のPRIVATE、PUBLIC、GLOBALで宣言したワーク配列変数を静的に配置する」オプションをチェックして、コンパイルしてください。

お問合せ

QBdirect

まだ会員に登録されていない方

本会員専用サイトにおけるサービスは、会員登録していただいた上でのみご利用いただけます。

新規会員登録