halo mas Kid.... ikutan tanya... siti pernah mendengar mengenai Variable (maupun Constants) dlm VBA bahwa mereka ini punya Scope dan Umur, tergantung di level mana dia dideklrasikan.
kita ambil contoh dari mas zain 2 peubah: *AppPrj *dan *objProject* dideklarasikan seabgai *Object* dengan keyword Dim di Level Prosedur. Katanya, di VBA, Scope (ke-Terkenal-an) dan Umur (ketersediaan) kedua peubah tsb hanya di Prosedur itu saja Dan begitu prosedur* selesai menjalankan tugas / prgm pointer sudah sampai di End Sub;* maka SEMUA PEUBAH lenyap kembali seperti ditelan bumi... Jenis Text kembali menjadi NullString, Bilangan menjadi 0, Object menjadi Nothing, dst.. Pertanyaanku Jika yg siti dengar itu benar, di detik-detik menjelang berakhirnya prosedur, apakah kita masih perlu menge *SET AppPrj = Nothing* ? Bukankah kalau didiamkan saja dia akan lenyap sendiri (menjadi Nothing), pemakaian memory otomatis dilepas.? Dari dulu ini ingin siti ketahui kejelasannya, tapi ndak nemu-nemu bacaannya... Prakteknya pun tidak pernah, karena selama ini hanya bisa nulis program kelas mainan & miniatur... Ma acih.... 2011/4/16 Mr. Kid <[email protected]> > 1. Bagaimana efeknya jika saya hilangkan statement set objProject=Nothing > dan set AppPrj=Nothing? > Tidak ada dampaknya, bahkan untuk scope yang lebih luas dari prosedur > sekalipun, karena hanya 1 object yang ada. > Akan berdampak ketika membuat instansi baru dengan New pada scope yang > lebih luas dari prosedur. > > Contoh : > Dim appPrj as msproject.application > set appprj=new msproject.application > > maka jumlah memori akan membengkak setiap kali ada proses inisialisasi > berupa pembuatan instansi baru. > jadi untuk seperti contoh diatas, usahakan tidak lupa untuk melepas memori > yang telah usai digunakan dengan set = nothing > set appprj = nothing > > > 2. Apasih sebenarnya fungsi set object = nothing? > Melepas memori yang digunakan oleh object tersebut. Jadi, si object tetap > exist tetapi isinya Null (nothing) karena tidak ada memori yang diblok > olehnya untuk digunakan. > > Regards. > Kid. > > > 2011/4/15 zainul ulum [yahoo] <[email protected]> > > >> >> Be-excelers, >> >> Saya sedang membuat program aplikasi dengan vba excel untuk update >> progress pekerjaan di Microsoft project. >> >> Karena program dibuat di excel, maka ada beberapa syntax yang akan >> meng-access object Microsoft project. Contohnya adalah sbb: >> >> >> >> Sub TestConnectMSProject() >> >> Dim AppPrj As Object, objProject As Object >> >> Set AppPrj = GetObject(, "MSProject.Application") >> >> Set objProject = AppPrj.activeproject >> >> Debug.Print objProject.Name >> >> Set objProject = Nothing >> >> Set AppPrj = Nothing >> >> End Sub >> >> >> >> ‘Note: >> >> ‘AppPrj, objProject adalah object Microsoft project. >> >> >> >> Pertanyaanya: >> >> 1. Biasanya saya selalu menggunakan syntax Set objProject = Nothing jika >> object tersebut tidak diperlukan lagi. >> >> Bagaimana efeknya jika saya hilangkan statement set objProject=Nothing dan >> set AppPrj=Nothing? >> >> >> >> 2. Apasih sebenarnya fungsi set object = nothing? >> >> >> >> Terimakasih >> >> -zainul- >> >> > >

