mas Hilman, mas Kid terima kasih... sekarang giliran siti jadi manthuk-manthuk (mengangguk yg diulang beberapa kali) lalu terpikir : ' ada pemrogram yg hebat tapi sulit menulis' ' ada penulis yang tidak terlalu bisa memrogram' (tapi ingin menulis terusss) ' ada penulis yg hebat tetapi tetapi tidak suka pemrograman' ' ada pemrogram yg hebat dan "begitu tahu" cara menulis.."
5 golongan /predikat itu tidak serta-merta dapat kita sematkan kepada seseorang tetapi minimal kita dapat merasakannya... mereka itu pribadi yg zuper, mereka tidak ingin menjadi yg hebat, tetapi yg pasti (dari inner-nya) ingin berguna bagi orang lain.. milis hanya akan hidup lama bila masih ada orang orang seperti itu... ~~ belajar-excel ? ndak akan 'nyesel ! siti 2011/4/16 Mr. Kid <[email protected]> > > > 1. Berbicara tentang objects, maka harus dikenal sifat objectnya lebih > dulu. Pada dasarnya variabel yang dideklarasikan pada level prosedur akan > dihancurkan oleh VB ketika keluar dari scope variabel tersebut. Jadi, betul > mbak Siti, bahwa untuk deklarasi pada sebuah prosedur tidak perlu set > nothing. Kebiasaan boleh jalan terus, karena sepertinya tidak ada efeknya > juga. > > Umumnya set object = nothing digunakan ketika proses pemanfaatannya sudah > selesai dan dikuatirkan memakan resources. Jika kerja pada level prosedur > saja dan letak penggunaannya pada akhir prosedur, maka set nothing tidak > diperlukan. > > Memang ada beberapa object yang tidak serta merta hilang walau sudah di set > nothing, tetapi umumnya object seperti ini memiliki methods close atau quit > yang membuatnya otomatis ter-clean dari memori. Artinya, variabel object > sudah clean dari memori, baik karena set nothing atau karena keluar scope, > tetapi objectnya sendiri masih ada di memori. Mungkin hal ini termasuk bugs. > > Paling aman selalu menggunakan methods close atau quit pada object yang > memiliki methods ini, bukan sekedar keluar scope atau set nothing. > Sebenarnya yang lebih penting adalah methods close atau quit yang bisa jadi > dimiliki oleh si object dibanding set nothing. > Kayanya pake contoh aja kali ya, kalo yang penting adalah methods close > atau quit yang dimiliki si objects. > > public sub wordapp_dari_excel() > dim obj as object > > set obj = createobject("word. application") > set obj = nothing > > 'object obj udah bersih > msgbox obj is nothing 'hasilnya kayanya true > > 'tapi isinya si obj sebelum di clean oleh nothing, yaitu si word, > masih ada > 'kalo dah gak ada, baris berikut akan keluar error > set obj = getobject(,"word.application") > > end sub > > beda dengan excel (misal dibuat di word vba, dengan mengganti semua word > dengan excel > > Pada deklarasi yang scopenya lebih luas, penggunaan set nothing ditujukan > ke object yang cenderung buat masalah ketika dia masih aktif, atau terlalu > besar membutuhkan memori, sedangkan proses selanjutnya masih butuh object > lain pada class tersebut, butuh resources memori yang cukup besar. Misal, > untuk memproses beberapa query pada db dengan jumlah record yang banyak. > Ketika hasil koneksi atau query yang lama sudah tidak digunakan dalam jangka > dekat, atau kemungkinan bakal ada perubahan harus dilakukan re-query yang > juga tidak terlalu dekat rentang waktunya, maka penggunaan set nothing bisa > jadi diperlukan. Ketika aplikasi ditutup, mestinya tidak diperlukan set > nothing walau dalam scope yang luas. > > 2. Tentang > Dim app1 as word.application > set app1=new word.application > > betul, memang butuh referensi pada VBProjects, dan bisa bermasalah pada > saat bertemu referensi beda versi. Jadi, cocok untuk yang referensinya > tetap. > > Jika kebutuhannya adalah pada referensi yang tidak tetap, gunakan datatype > object (yang bisa menampung object apa aja). Kinerja memang lebih lambat, > tetapi untuk engine seperti jaman sekarang, sepertinya gak terlalu berefek. > dim app2 as object > set app2 = createobject("word. application") > > Pada kedua cara di atas, pastikan penulisan nama object sesuai jenis > library yang digunakan, karena kedua cara tersebut adalah deklarasi object > dari suatu instansi dan instansinya membutuhkan library. > > Mungkin gitu kali ya... dikoreksi kalo salah ya.. > Kid. > >

