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. Indifferent dan yang init akan runtime error.
Kok bisa ya...Confused
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...Sad...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).Big Smile 

Share this post: | | | |
Filed under: ,

Comments

No Comments