index

2003年 3月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
2003年 4月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
2003年 5月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

アレ

  ▽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

aNothing を代入した後に Is Nothing で聞いてるんだけど, これ,最初の DimNew 宣言がポイントで, これの動作はどうも「変数 a が使用される時に中身が空なら新クラスを代入しとく」 というもので,ここに「最初に」という条件が付かないのが問題点だ.

つまりいつでも空でさえあれば勝手にクラスを代入するから, Set a = Nothing で空にしても,If a Is Nothing Then の判断文で, 新たに aNew classHoge が代入されちゃうのだー.

だぁぁぁぁ.何だよこの動作わ!?  こんな動作を望む奴がどこかにいるってのか?  それとも手抜き仕様でこうなってんのか?

index