▽20030420a
#日記
一日中 VB をいぢり倒しー.
えーっとつまりさぁ,こういうコードを書いてみるわけ.
Sub hoge()
Dim a as New classHoge;
Set a = Nothing
If a Is Nothing Then
Debug.Print "a is nothing."
End If
End Sub
a に Nothing を代入した後に Is Nothing で聞いてるんだけど,
これ,最初の Dim の New 宣言がポイントで,
これの動作はどうも「変数 a が使用される時に中身が空なら新クラスを代入しとく」
というもので,ここに「最初に」という条件が付かないのが問題点だ.
つまりいつでも空でさえあれば勝手にクラスを代入するから,
Set a = Nothing で空にしても,If a Is Nothing Then の判断文で,
新たに a に New classHoge が代入されちゃうのだー.
だぁぁぁぁ.何だよこの動作わ!? こんな動作を望む奴がどこかにいるってのか? それとも手抜き仕様でこうなってんのか?