Bagi beberapa penguna bahasa Visual Basic ( selanjutnya kita sebut VB ) akan terdengar canggung dengan judul di atas. Terminologi di atas merupakan “Panggilan” saja, tapi tekniknya mungkin sudah sering dipakai dalam pekerjaan sehari-hari.
Sebelum ke sana mari kita lihat dasarnya dahulu dan term yang di pakai pada artikel ini adalah term VB developer.
- ActiceX Component
- Com and ActiveX
- Component Binding
- Late Binding
- Early Binding
- Tips
- Kesimpulan
ActiveX Component
ActiveX Component sebuah standar Container Class yang dapat di gunakan oleh satu atau lebih aplikasi.
Agak membingungkan bukan, untuk lebih mudahnya seperti ini:
Anda memiliki sebuah Public Metode di dalam Class anda dan Class anda ini ada didalam sebuah Component yang memiliki standar untuk dapat berbicara secara binary dengan binary lainnya sesuai standar yang ada.
ActiveX Component biasa di sebut Server Aplikasi, karena ia meng-service aplikasi yang menggunakannya.
Sedang yang memanggil-nya di sebut Client Aplikasi. Tentu karena ia meng-consume ActiveX server tersebut.
Contohnya:
Microsoft Excel, ia merupakan software yang di buat dengan Visual C++. Dan ia membuat ActiveX atau OLE object-nya agar pengguna VB dapat meng-akses atau membuat sebuah Worksheet Excel di dalam VB aplikasi.
ActiveX Excel bisa di sebut sebagai Server aplikasi dan VB tentu Client Aplikasinya.
COM and ActiveX
Component Object Model ( selanjutnya kita sebut COM ) merupakan teknologi di belakang ActiveX ini. COM ini yang membantu kita meng-expose method dan property kita kepada object lain serta membuat kedua object itu saling ber-’bicara’.
Implement dari Interface ( baca Antar Muka ) IUnKnown yang membuat COM kita melakukan keajaibannya.
( sebetulnya ada satu lagi, mungkin di topik yang lain )
Setiap ActiveX yang kita buat, harus meng-implement IUnknown ini. Sebagai VB developer, ini sudah dilakukan secara automatis oleh IDE VB.
Sekarang kita akan melihat secara detail bagaimana ia bekerja.
1. Ketika VB aplikasi kita bekerja, maka ia akan mencari di Window Registry untuk melihat apakah ada Excel Server-nya,
2. Setelah itu Excel Server itu di invoke/bangkitkan dan load as server ( terjadi di memory ),
3. Client aplikasi ( VB kita ) akan me-request ke pada Excel server lewat interface IUnKnown,
4. Dan Excel server itu juga menjadi client dari VB aplikasi lewat interface IUnKnown.
Walau terdengar sedikit rumit, tapi itu menunjukan mereka menjadi client server bagi aplikasi. VB merupakan client bagi Excel server tapi sekaligus menjadi Server bagi client Excel aplikasi,
5. Pada saat Client VB meng-request kepada IUnKnown, ia menggunakan QueryInterface untuk meminta kepada Excel Server interface yang ia miliki ( dalam hal ini Whorksheet ),
6. Bila Excel Server response-nya maka hasil dari IUnknown yang di kirim oleh client Excel kepada VB Server akan di pergunakan oleh VB sebagai bagian dari aplikasi-nya.
Jadi setiap metode dan property yang di declare class akan memiliki interface IUnKnown, agar dapat di akses oleh penggunan interface IUnKnown lainnya.
Analoginya seperti kita meng-contact seseorang lewat telepon. kita men-dial nomor, mendapatkan respon dan merespon dengan pembicaraan. Kita menjadi Client bagi yang kita telepon dan kita menjadi Server bagi yang kita telepon.
Component Binding
Saat process kita me-request dan meng-load ActiveX Server di sebut Component Binding ( baca: Mengikat Component )
Ada 3 macam tipe binding-nya:
1. Early Binding
2. Late Binding
3. Very Early Binding ( tidak ada dalam VB )
Late Binding
Dalam VB kita tanpa perlu me-reference ke binary tertentu. Jadi VB IDE tidak menyimpan GUID dari ActiveX server.
code:
Dim oXL as Object
Set oXL = CreateObject("Excel.Application")
Karena ia tidak di reference maka ia tidak memiliki list dari interface ‘Excel.Application’.
Early Binding
Teknik binding ini yang sering kita pakai dalam VB.
Cara kerjanya agak sedikit berbeda. Early Binding mengharuskan kita menyimpan GUID dari ActiveX server itu.
Biasanya dilakukan di References Dialog pada VB IDE, dan tercatat di Project file.Jadi ketika aplikasi kita meload ActiveX server itu, kita mencari parameter di window registry sesuai dengan GUID yang ada dan mencari file Type LiBrary ( selanjutnya di sebut TLB ).
Dalam TLB ini terdapat list dari Interface yang di miliki oleh ActiveX server itu.
Maka ketika di design time IDE, kita dapat melihat Method dan Property dari ActiveX server-nya. ( maksudnya: namaobject kemudian di titik muncul dropdown dari metode dan property -nya ).
code:
Dim oXL as Excel.Application
Set oXL = new Excel.Apllication
Tips
Secara performa, Early Binding jauh lebih baik dari Late Binding. Jadi untuk VB aplikasi lebih di sarankan menggunakan Early Binding, mengingat overhead yang terjadi ketikan melakukan Late Binding.Lalu kapan kita menggunakan Late Binding? Pada saat kita akan menggunakan remote object maka kita menggunakan Late Binding, seperti pada DCOM ( Distribute Component Object Model ) yang gunakan secara standalone ataupun sebagai transport buat MTS atau COM+.
contoh:
Dim oXL as Object
Set oXL = CreateObject("Excel.Application", "NameServer")
Satu lagi ialah ketika kita menghendaki aplikasi kita me-reference ActiveX karena masalah versioning, karena setiap kita merubah interface maka siganture dari TLB akan berubah.
Untuk Active Server Pages, memang untuk menggunakan COM kita menggunakan Late Binding. Tapi tidak di anjurkan menggunakan hanya CreateObject.
contoh:
Dim oXL
Set oXL = Server.CreateObject("Excel.Application")
Secara Explicit, meng-create object di memory server.
Kesimpulan
Kita tidak membahas COM secara mendalam, topik ini hanya memperkenalkan konsep dari Component Binding dari COM teknologi.
Dari pemaparan di atas kita bisa membedakan Early dan Late Binding dalam penggunaannya di VB.
Klik disini untuk melihat sumber artikel
Tuesday, November 25, 2008
ActiveX Component
Subscribe to:
Post Comments (Atom)
Link Exchange
Donation
Visitor
Online
Do you like this blog
Arsip Blog
-
▼
2008
(90)
-
▼
November
(52)
- Install Indobilling di Zencafe 1.4 dan 1.2
- VMware di Ubuntu 8.04
- install vmware di linux ubuntu 8.10 intrepid
- VMWare Gratis !!!
- Memperbesar kapasitas Hard Disk di VMware
- i386, i586, i686,x86-64 ........???
- Distro turunan Slackware, Zencafe 1.0 untuk Warnet
- Interface Antar Muka Visual Basic 6.0
- ActiveX Component
- Ilmuwan Australia Buat Internet 100 Kali Lebih Cepat
- 11 Situs Gratis untuk Bertukar File Besar dengan C...
- Empat Linux Mini untuk Flash Disk Anda
- Internet Explorer 8 Ditunda Hingga Tahun Depan
- Microsoft Akan Rilis Antivirus Gratis
- Codename Ubuntu 9.04 "Jaunty Jackalope"
- Jaunty Jackalope Alpha 1 Release 22 Nopember 2008
- Membuat Sendiri File OCX (ActiveX Control) - Masin...
- Panduan instalasi Blankon LiveCD
- Upgrade ke ubuntu 8.10 ?
- Blankon 3, Codename : Lontara
- Source List Repo Blankon 3 : Lontara
- Distribution Release: Ubuntu 8.04.1
- Release Ubuntu 8.10 dan turunannya
- Kerja dari rumah
- Contoh program VB6 menggunakan Access
- Kumpulan OCX buat Visual Basic 6 / VB6
- Cara Menampilkan Icon YM Status
- Komunitas Ubuntu
- Dokumentasi Ubuntu
- ShipIt - CD Ubuntu Gratis
- Negara-negara Asia Afrika Bersatu Gunakan Open Source
- Puluhan Negara Diskusikan Open Source di Jakarta
- Tiga Mitos Open Source Software
- Palestina Belajar Open Source dari Indonesia
- Gartner: 85 Persen Perusahaan Pakai Open Source
- Membuat bahasa Pemrograman sendiri untuk Ubuntu da...
- Tantangan BlankOn 2009
- Ubuntu 8.10 DVD Repository
- BlankOn 4.0 Resmi Dirilis!
- Linux Untuk Umat Manusia
- Cara Buat Read More (Ringkasan Artikel)
- Cara Promosi Blog
- Cara Memasang Google Adsense di Web/Blog
- Cara memasang kode HTML/javascript pada blog
- Cara Meningkatkan Traffic ke Website Adsense? SEO
- Tips untuk meningkatkan Google Adsense
- 50 Cara Meningkatkan Traffic Jumlah Pengunjung Blo...
- PANDUAN GOOGLE ADSENSE – MENINGKATKAN TRAFFIC WEB ...
- Cara Legal & Sesuai TOS Meningkatkan Traffic Googl...
- Meningkatkan traffic google adsense
- Membuat program kecamatan menggunakan VB6 dan SQL ...
- Pembuatan program menggunakan Visual Basic 6
-
▼
November
(52)
0 comments:
Post a Comment