- 560 名前:558 mailto:sage [2008/01/29(火) 13:11:53 ]
- オブジェクトをByValとByRefで渡したときの違いは何か?
プロパティNameを持った空のクラスClass1を作成し、次のコードを実行してみる。 [結果] Initialized abc def [考察] ByValでもオブジェクトのコピーが発生するわけではない。 (barから戻ったときにbarで設定したNameが表示されているので) --Class1 Public Name as String Private Sub Class_Initialize() Debug.Print "Initialized" Name = "abc" End Sub --Module1 Sub foo() Dim o As Class1 Set o = New Class1 bar o Debug.Print o.Name End Sub Sub bar(ByVal o As Class1) Debug.Print o.Name Set o = Nothing End Sub
|

|