Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

宣言していないローカル変数を使えてしまう

Visual Basic 2010では、作成直後のプロジェクトで、宣言していないローカル変数が使えてしまう。例えば以下の例のようにfor文で繰り返しに使用する変数を事前にdim文で宣言しなくても使えてしまう。これはExplicitがOnになっていても、ローカル変数の推論機能が働いているためである。
'Dim i As Integer ←※コメント化しているため無効

For i = 1 To 3
    MsgBox(Str(i))
Next i
宣言していない変数が使用できてしまうのは、これは大きなプログラムを作るときに混乱の元となるため、以下のオプションをファイルの最初(class文の前)に必ず書いておくこと。これで、ローカル変数の推論機能が無効になる。
Option Infer Off
なお、宣言していない変数を使えなくする機能も当然有効にしておくために、以下の一文もセットで書いておく。
Option Explicit On
Visual Basic 2010パーフェクトマスター―Windows 7完全対応 Windows Vista/XP対応 (Perfect Master SERIES) Visual Basic 2010逆引き大全555の極意―Windows 7/Vista完全対応 明快入門 Visual Basic 2010 (林晴比古実用マスターシリーズ) Microsoft Visual Studio 2010 Professional