Monday, February 04, 2008 5:33 AM
dede
Dim New oneline in VB6
Di VB6 kita bisa menggunakan sintak seperti ini.
Dim obj As FooClass
Set obj = New FooClass
'atau seperti ini
Dim obj as New FooClass
Di sini kita tidak membicarakan 'eary binding' dan 'late binding' atau soal performa.
Kebanyakan VB6 developer tidak menyadari bahwa apa yang terjadi di setelah di compile oleh vb compiler.
Coba kita lihat dua cara di bawah ini:
'cara inline
Dim obj As New FooClass
Set obj = Nothing
obj.Method
'dan
'cara init
Dim obj As FooClass
Set obj = New FooClass
Set obj = Nothing
obj.Method
Ternyata cara inline sukses di execute.
dan yang init akan runtime error.
Kok bisa ya...
Ini terjadi karena setiap kita meng-compile secara inline, setiap method yang kita invoke/reference(contoh: obj.Method() ) akan membuat code ini:
If obj Is Nothing Then
Set obj = New FooClass
End If
obj.Method
Kenapa seperti itu? mungkin penjelasan dari Dan Appleman bisa membantu.
The reason [you're told] not to use [a Dim on one line] is that this can result in subtle bugs - especially during cleanup - when you are either accidentally recreating objects you think you cleaned up, or are referencing new objects when you accidentally cleared old ones.
--- Dan Appleman, VB Guru.
Dan di VB.Net, sudah tidak terjadi seperti ini.
VB6 adalah suatu framework (Language, IDE, Runtime) yang compact dan menyenangkan. Sayang sekali Alan Cooper tidak meneruskan/terlibat di VB.Net.
Makanya citarasa VB.Net berbeda jauh. Oleh karena itu sampai sekarang, masih sulit menulis code di VB.Net di bandingkan C# -- harus mikir dahulu. Sayang ya...
...I have alot a fun with it.
Untuk mengingat masa lalu itu, kita bisa main ruby. Ruby itu mirip VB dengan ++-nya (jadi VB++ donk).
Filed under: {.NET}, {vb}