|
ActiveX OCX dengan Visual Basic
Istilah "tier" sering dipergunakan untuk menjelaskan
lapisan-lapisan aplikasi pada rekayasa software. Tier - tier tersebut
biasanya terdiri dari: 1. Tier Presentasi (Presentation Layer) 2.
Tier Busnis Proses (Bussiness Process Layer) 3. Tier Data (Data
Layer)
1. Tier
Presentasi Tier Presentasi adalah istilah yang
dipergunakan untuk menyebutkan apa yang nampak dihadapan kita, sebut saja
User Interface atau istilah Indonesia-nya kita sebut sebagai antar
muka. Apa yang sedang anda baca ini adalah antar muka (tier
presentasi) dari aplikasi WEB yang saya bangun.
Berdasarkan pengalaman,
antar muka bisa berupa halaman HTML beserta dengan kontrol-kontrol user
interface bawaan yang dibangun dari halaman HTML itu sendiri
(lihat pembahasan
kita mengenai Form). Namun user interface bisa juga berupa
ActiveX OCX. ActiveX OCX bisa dibuat dengan berbagai Tool pengembangan
seperti Delphi, Visual C++ dan Visual Basic. Di sini kita
membangun OCX dengan tool Visual Basic.
Pembangunan antar muka dengan halaman HTML
dapat dibuat dengan cepat dengan menggunakan Tool pengembangan Visual
Interdev atau FrontPage editor atau dapat juga dengan menggunakan editor
teks sederhana seperti notepad nya windows. Namun sebagai pengembang yang
sudah biasa dengan Visual Basic, saya lebih suka menggunakan
Visual Interdev karena kemiripannya dengan Visual Basic. Di sini kita
akan membangun antar muka yang berupa ActiveX OCX. Sebab pembangunan
antar muka HTML sudah kita bahas pada HTML Form Bab
sebelumnya.
Mengapa membangun
antar muka ActiveX OCX? Jika anda pernah membuat
aplikasi windows yang dibangun dengan Visual Basic, maka dengan hanya
sedikit modifikasi, aplikasi windows anda telah menjadi aplikasi WEB.
Dengan demikian anda dapat memperpendek siklus pengembangan aplikasi.
Antar muka ActiveX OCX, baris-baris kodenya tidak nampak. Karena Active
OCX terkompilasi. Hal ini umumnya disukai oleh produsen software
aplikasi untuk menjaga kerahasiaan aplikasi yang dibangun.
Jika anda sudah terbiasa dengan Visual Basic, membuat antar
muka aplikasi WEB menggunakan keahlian Visual Basic anda tentunya lebih menyenangkan dan lebih
mantap.
Untuk menjalankan ActiveX OCX pada browser, browser terlebih dahulu harus
melakukan download ActiveX OCX tersebut ke mesin komputer client, disini
istilah client yang saya maksud adalah komputer tempat browser dijalankan. Ketika mendownload ActiveX OCX,
biasanya browser Internet Explorer meminta konfirmasi keamanan untuk memastikan bahwa
OCX yang anda buat benar-benar aman dijalankan pada komputer
tersebut.
Membuat ActiveX
OCX Dalam project ini saya menganggap anda telah
terbiasa membuat aplikasi Windows dengan Visual Basic. Jika anda
masih pemula di Visual Basic, sebaiknya anda pelajari dulu bagaimana
membuat aplikasi Windows dengan Visual Basic. Untuk membuat antar
muka OCX, buka project baru, pilih ActiveX control lalu klik tombol
open. klik disini untuk lihat gambar.
Setelah anda klik open maka Visual Basic akan memunculkan project ActiveX
OCX yang kosong. Klik di sini untuk lihat gambar.
Jika anda sudah pernah membuat aplikasi windows, maka dengan
modifikasi sedikit saja, form windows ada tadi sudah menjadi antar muka
WEB. Untuk membuat aplikasi WEB ini saya hanya mengcopy dari aplikasi
windows yang pernah saya buat dan ditambah dengan sedikit modifikasi saja.
Klik di sini untuk lihat gambarnya. Coba
perhatikan gambar tersebut mirip dengan aplikasi windows.
Tadi saya mengatakan hanya
perlu modifikasi sedikit untuk membuat form aplikasi windows menjadi
ActiveX OCX yang dibuat dengan Visual Basic. Untuk membuat ActiveX OCX
kita dapat berinteraksi dengan Internet Explorer, (kita katakan di sini IE
adalah sebagai container dari ActiveX OCX kita).
ActiveX tidak dapat berdiri sendiri. Ia hanya dapat berjalan pada
containernya. Proses nya adalah begini. OCX kita berjalan pada
browser. "Komunikasi antara OCX dengan browser bisa dilakukan
oleh Script yang ada pada browser." Script pada browser
dapat berkomunikasi dengan property, methode dan event yang ada pada
OCX. Untuk tujuan ini biasanya saya menggunakan
Visual Interdev. Dengan menggunakan Visual Interdev, event,
property dan methode yang ada pada browser dapat dengan mudah kelihatan
persis seperti Visual Basic memperlakukan objek form textbox dan
lain-lain.
Untuk memudahkan proses
debug dalam pembuatan OCX, lebih dahulu OCX ini dites pada Visual Basic
(katakanlah form1 sebagai containernya), Klik di sini
untuk lihat gambarnya. Coba pada perhatikan gambar tersebut saya
bekerja dengan dua project sekaligus. Project pertama adalah project
dengan tipe standard windows yang akan dipergunakan sebagai project tester
OCX dan yang kedua adalah project OCX itu sendiri. Sedikit Modifikasi
kode yang saya sebutkan tadi terlihat seperti di bawaih
ini:
Public Property Let
strConn(ByVal strNewConn As String) m_strConn =
strNewConn PropertyChanged "strConn" Set
conn = New ADODB.Connection conn.Open m_strConn Form_Load End Property
Private Sub UserControl_ReadProperties(PropBag
As _ PropertyBag) m_strConn =
PropBag.ReadProperty("strConn") End Sub
Private Sub
UserControl_Show() Dim ctl As Object Frame1.BackColor =
Ambient.BackColor Picture1.BackColor = Ambient.BackColor
UserControl.BackColor = Ambient.BackColor End
Sub
Karena saya menganggap anda telah terbiasa dengan
Visual Basic dalam pembuatan aplikasi windows, maka saya hanya
menjelaskan sedikit istilah kode-kode di atas. Istilah "Ambient" dipakai untuk menyebutkan container
nya.
Dalam hal ini saya memberikan
kode agar OCX menyesuaikan warna latar belakangnya dengan warna latar
belakang container.
Di sini kita telah membuat property OCX kita
dengan nama "strConn". Property strConn inilah nanti yang akan
berkomunikasi dengan Script yang ada di browser kita. Jadi nilai strConn
yang ada pada session ASP nantinya kita masukkan ke dalam OCX kita. Di
bawah ini adalah contoh kodenya:
<SCRIPT language=vbscript>
Sub window_onload ctlAbsen.strConn =
"<%=Session("strConn")%>" End Sub
</SCRIPT>
Coba perhatikan kode di atas objek OCX kita
adalah ctlAbsen yang mempunyai property strConn. Property ini memeperoleh
nilai strConn yang telah kita simpan pada session ASP.
Dari manakah
objek OCX ctlAbsen itu? Coba perhatikan kode di bawah ini:
<OBJECT
classid=
CLSID:977B1E20-C0D1-11D8-87E7-0050FCE296F9codeBase=ctlPegawai.CAB#version=1,0,0,0 id=ctlAbsen>
<PARAM NAME="_ExtentX" VALUE="10504"> <PARAM
NAME="_ExtentY" VALUE="7329"> <PARAM NAME="strConn"
VALUE=""> </OBJECT>
Kode di
atas bukanlah kode yang diketikkan secara manual, tetapi blok kode
tersebut otomatis dibuat ketika kita mengcopykan objek OCX yang telah kita
buat. Objek tersebut diawali dengan tag <OBJECT> dan diakhiri dengan tag </OBJECT>.
|
|