記事の重要な訂正

 

2000年9月15日 

重要な補遺

対象記事:テクニック編 5.知られざる関数たち

対象部分:記事中の 3.IIF関数

補遺:次の部分は後から付け加えたものです。この部分を理解しないでIIF関数を使用すると重大なバグの原因となる可能性があります注意してください。

なお、IIF関数の第2引数、第3引数に関数を指定した場合は第1引数の真偽にかかわらす両方の関数が実行されてしますようです。返される値はもちろん第1引数の真偽によるのですが、実行しなくてもよい関数を実行してしまうというのは困り者です。この点注意してください。

たとえば、次のようなコードを記述してははいけません!

Private Sub Command1_Click()

    K = IIF(TRUE, 1, CalcEnd)

End Sub

Private Function CalcEnd()

End

End Function

このコードを実行するとプログラマーの期待に反してコマンドボタンをクリックするとプログラムが終了してしまいます!

説明:この事実はVisual Basic Magazine 2000年10月号のP53に掲載されている記事によって知りました。私の記述を信用してプログラムに応用した方は注意してください。