Menyusun Activex PDF Print E-mail
Written by Rizki Noor Hidayat Wijayaź   

Apakah itu COM

Membuat Pendek Sejarah yang Panjang

Pada saat Windows meluncurkan sistem operasi pertamanya yang mampu mampu melaksanakan berbagai aplikasi pada waktu yang sama, semua orang bisa lihat bahwa Microsoft memikirkan suatu sistem yang mampu untuk terkait dengan aplikasi lain untuk menukar data dan berkomunikasi dengan satu sama lain. Clipboard adalah baik untuk membuat cut-and-paste operasi sederhana, tetapi terlalu primitif dan tidak menunjuk kebutuhan yang paling menuntut sepert sebagaimana Windows sekarang bersikap.

Usaha serius yang pertama di dalam arah benar adalah DDE (Dynamic Data Exchange), suatu protokol komunikasi yang membiarkan aplikasi saling panggil/hubungi satu sama lain. DDE bukanlah yang sangat sukses, anda mungkin oleh karena reliabilitasnya. Sungguhpun demikian DDE diperluas untuk bekerja pada LAN (Jaringan DDE) dan kemudian mampu menghubungkan aplikasi pada stasiun-kerja yang berbeda, sedikit Windows Aplikasi menerapkan itu. (Visual Basic membatasi dukungan terhadap DDE)

Versi OLE yang pertama (Object Linking and Embedding) pada Windows 3.1 anda sendirincul pada tahun 1992 dan menggunakan DDE sebagai dasar alat-alat untuk interapplication komunikasi. OLE menjadi protokol yang pertama yang memungkinkan para pemakai dan para programmer untuk menciptakan campuran dokumen, dokumen yang berisi data dari aplikasi berbeda (sebagai contoh, suatu Excel worksheet di dalam suatu Word Documents). Bergantung pada kebutuhan aplikasi, dokumen campuran dapat dengan sepenuhnya encapsulate dengan dokumen yang lain yang lebih sederhana menempelkan atau berisi suatu acuan sederhananya ke dokumen ada (penghubung). Ketika pemakai klik pada sesuatu yang ditempelkan tersebut atau berhubungan dokumen sebagai suatu dokumen campuran, Windows menjalankan aplikasi itu dan mampu untuk berhadapan dengan jenis hubungan yang khusus pada dokumen tersebut.

OLE 2 dilepaskan pada tahun1993, dan untuk pertama kalinya mencakup dukungan untuk mengedit dokumen campuran tanpa membuka suatu jendela berbeda. Sebagai contoh, OLE 2 membiarkan membiarkan anda mengedit suatu Worksheet pada Excel dan menempelkan secara singkat dokumen tanpa meninggalkan Mircrosoft Word. Tetapi yang anda lihat hanya menu Excel, yang menggantikan menu Word ketika anda sedang mengedit data yang ditempelkan itu. OLE 2 adalah suatu langkah penting juga oleh sebab itu meninggalkan DDE sebagai protokol komunikasi dan mempercayakan sebagai gantinya atas suatu arsitektur component-based baru: COM (Komponen Obyek).

Kondisi tersebut secara berangsur-angsur menjadi nyata terhadap infrastruktur COM bahkan lebih penting dibanding teknologi linking and embedding. Selagi kemampuan untuk menciptakan dokumen campuran adalah yang luar biasa dari sudut pandang pemakai, pengembang menemukan bahwa mereka bisa membangun aplikasi hebat hanya dengan menggunakan COM. Sesungguhnya, COM mempromosikan konsep tentang pengembangan component-based, yang mana membiarkan anda membagi lagi aplikasi besar ke dalam potongan lebih kecil dan anda dapat memelihara dan mendistribusikan dengan anda mudah dibanding anda dapat suatu aplikasi monolitis. Porsi OLE yang membiarkan program bertemu dengan satu sama lain dikenal sebagai Otoasi OLE. Banyak bahasa program dapat bekerja sebagai Otomasi OLE Klien, dan yang mengendalikan aplikasi lain dikenal sebagai Otomasi OLE Server. Sebagai contoh, anda dapat memandu Excel dan Word dari penggunaannya di luar Visual Basic 3 dan versi kemudiannya seperti halnya VBSCRIPT.

Potensi untuk paradigma pemrograman baru ini menjadi jelas ketika Microsoft mengirimkan Visual Basic 4 Edisi Enterprise, yang mencakup dukungan untuk Otomasi Jarak Jauh. Tidak hanya adalah para programmer Visual Basic yang akhirnya mampu menciptakan Komponen COM, mereka adalah juga pelopor yang bisa meluncurkan dan melaksanakan suatu komponen menempatkan pada suatu komputer ke seberang jaringan, penggunaan yang CPU mesin, memori, dan sumber daya lain. Komputasi yang dibagi-bagikan adalah debut pertama pada Windows Platform.

Pada ketika Visual Basic 4 dilepaskan, jenis komponen yang lain anda sendirincul untuk pertama kali, seperti OLE controls. Ini menjadi para pengganti VBX controls, yang sangat mendukung ketenaran dari Visual Basic. Masalah dengan VBX controls adalah bahwa mereka didasarkan pada suatu arsitektur kepemilikan, yakni Lingkungan Visual Basic, yang mana buat VB ini hampir anda mustahil untuk menggunakannya dengan bahasa berbeda. Ketika menswitch ke 32-bit platform, Microsoft memutuskan untuk menciptakan suatu control/kendali jenis baru berdasar pada OLE yang bisa diadopsi dan didukung oleh pabrikan lain juga.

Otomasi Jarak Jauh hanya sebagai test untuk memandu teknologi yang berikutnya, Distributed COM, atau disingkat DCOM. DCOM secara resmi dilepaskan dengan Microsoft Windows NT 4 di dalam 1996. Banyak para programmer tetap menggunakan Otomasi Jarak Jauh, hingga di tahun 1997 Microsoft melepaskan DCOM95.EXE, yang menambahkan dukungan untuk DCOM juga Sistem Windows 95. DCOM membuktikan untuk menjadi yang lebih dapat dipercaya dan efisien dibanding Otomasi Jarak Jauh, Microsoft yang mana tidak lagi meninjau kembali. Satu-Satunya keuntungan dari Otomasi Jarak Jauh kemampuannya untuk berkomunikasi dengan 16-bit platform. Pada sisi lain, jika anda sedang menulis Visual Basic 5 dan 6 aplikasi anda tak terpisahkan dengan platform 32-bit, dan anda tidak akan mempunyai banyak penggunaan untuk Otomasi Jarak Jauh.

Teknologi terakhir yang dilepas dari laboratorium Microsofts adalah ActiveX. Dalam beberapa hal, ActiveX adalah jawaban bagi Microsofts terhadap tantangan baru dari Internet. Sebagai contoh, OLE controls adalah terlalu berat untuk dengan anda mudah ditransfer melalui Net, maka Microsoft memikirkan keperluan suatu jenis kendali baru. Sekarang ini, ActiveX telah menjadi sejenis sinonim untuk OLE, dan anda dapat mengacu pada Komponen COM sebagai komponen ActiveX. Dengan kedatangan ActiveX, Otomasi OLE telah disederhanakan penyebutannya dengan Otomasi/Automation. ActiveX juga memperkenalkan beberapa kata baru kepada kamus pemrograman: ActiveX controls dan ActiveX document. ActiveX controls sudah menggantikan OLE controls, sedangkan ActiveX document menggantikan OLE dokumen dan mengijinkan para programmer untuk menciptakan dokumen aktif yang dapat dibuka di dalam suatu kontainer (sebagai contoh, Microsoft Internet Explorer). Visual Basic 5 dan 6 dapat menciptakan kedua-duanyaL ActiveX controls dan dokumen.

Tipe Komponen Component Object Model (COM)

In-process servers (DLL)

Tipe yang paling sederhana dari Komponen COM adalah suatu DLL yang melaksanakan di dalam ruang alamat yang sama ketika suat aplikasi sedang menggunakan ruang alamat tersebut. Sebab masing-masing proses di bawah 32-bit platform mempunyai ruang alamat sendiri, masing-masing bekerja dengan suatu kejadian yang beda berkaitan dengan komponen. Komponen ini komunikasi secara langsung dengan klien mereka, tanpa bantuan COM, yang membuat mereka menjadi pilihan yang paling sesuai ketika kecepatan menjadi hal yang diperhatikan. Kerugian utamanya adalah klien melindungi dari kegagalan pemakaian di server, dan sebaliknya: Jika komponen datang dengan suatu kesalahan fatal, aplikasi kliennya juga roboh/hancur/crash.

ActiveX controls adalah suatu kategori komponen in-process yang dapat menjadi tuan rumah oleh suatu ActiveX kontainer, seperti form pada Visual Basic. Untuk mengkualifikasikan suatu ActiveX controls, suatu komponen harus menerapkan sejumlah interface yang digambarkan oleh spesifikasi ActiveX. Sebagai programmer Visual Basic, bagaimanapun tidak perlu cemas akan interface yang tambahan ini sebab Visual Basic mengerjakan segalanya untuk anda.

Local out-of-process servers (EXE)

Anda dapat juga menyusun suatu ActiveX component sebagai suatu program EXE. Ini adalah menyenangkan ketika anda ingin menciptakan suatu aplikasi yang dapat bekerja sebagai suatu program berdiri sendiri dan menawarkan obyek yang dapat diprogram kepada (bahasa/pabrikan) luar pada waktu yang sama. Contoh ang terbaik sebagao aplikasi server adalam Microsoft Office. Anda dapat menggunakan Excel atau Word baik sebagai aplikasi mandiri atau sebagai penyedia komponen yang anda dapat menggunakan dari dalam program milik anda sendiri. EXE server melaksanakan di dalam ruang alamat mereka sendiri, yang membuat komunikasi dengan klien mereka lebih lambat dibanding dengan komponen in-process. Pada sisi lain, ActiveX EXE server adalah sedikit banyaknya lebih aman. Jika suatu komponen roboh/hancur, aplikasi klien pada umumnya mampu melakukan pemulihan.

Remote out-of-process servers (EXE)

Server Jarak Jauh adalah EXE program yang dijalankan oleh mesin yang berbeda dari yang sedang menjalankan aplikasi aplikasi pada klien. Komunikasi Klien dan server melalui DCOM (atau Otomasi Jarak Jauh). tiada guna untuk dibahas, komunikasi bahkan lebih lambat dibanding dengan server lokal, tetapi komponen Jarak Jauh menawarkan kemampuan untuk menciptakan aplikasi yang benar - benar saling berbagi. Suatu server yang melaksanakan pada mesin Jarak Jauh tidak memerlukan banyak waktu untuk mengolah memori atau mengontrol dari aplikasi klien, maka anda dapat membagi lagi tugas kompleks antar semua mesin di dalam jaringan anda sendiri. Lebih dari itu, jika anda harus dapat menyelesaikan suatu tugas yang berat dengan menggunakan suatu sumber daya yang ditempatkan pada tempat lain di dalam jaringan (sebagai contoh, suatu query kompleks pada suatu mesin database atau suatu pekerjaan cetakan panjang), adalah lebih menyenangkan untuk mendelegasikan tugas kepada suatu komponen Jarak Jauh agar melaksanakan pada mesin di mana sumber daya secara fisik ditempatkan atau terletak.

Suatu hal hebat tentang server Jarak Jauh adalah bahwa mereka bukan berbeda sama sekali dari server local program EXE pada umumnya. Sesungguhnya, server yang sama dapat menyediakan jasanya ke aplikasi pada mesin di mana berada (begitu bekerja sebagai server lokal) dan ke aplikasi yang bekerja pada mesin lain (begitu bekerja sebagai server Jarak Jauh).

Anda dapat juga menjalankan DLL sebagai server Jarak Jauh. Untuk mengijinkan suatu DLL untuk hidup mandiri, anda perlu untuk memastikan DLL menjadi tuan rumah di dalam DLL pengganti yang memproses pada mesin Jarak Jauh itu. Ini menjadi prinsip dasar pada komponen Microsoft Transaction Server (tidak dijelaskan disini).

Menggunakan Komponen yang Sudah Ada

Untuk membiarkan anda mencicipi kekuatan pemrograman component-based, akan ditunjukkan kepada anda bagaimana sederhananya menambahkan suatu spell checker ke Aplikasi Visual Basic anda sendiri. Mengembangkan suatu program spell checker bukan suatu tugas sepele, dan itu bisa beberapa bulan untuk melakukannya, jika bukan tahun. Kebetulan, Microsoft Word telah meliputi spell checker yang baik dan yang paling utama adalah Word menyingkapkan spell checker tersebut sebagai obyek programmable melalui Otomasi. yang harus anda lakukan adalah mengambil keuntungan dari kemampuan ini dan menciptakan suatu aplikasi yang menggunakan Word sebagai server.

langkah pertama untuk menggunakan Komponen otomasi adalah dengan mereferensikannya pada library pada menu project. Browselah daftar acuan tersedia, dan pilih "Microsoft Word 8.0 Object Library". (Contoh ini berasumsi bahwa anda sudah menginstall Microsoft Word 97, jika yang anda install adalah Microsoft Office System 2003 maka Object library memiliki versi 11) Setelah anda lakukan ini, anda dapat menyelidiki semua object yang diarahkan oleh Word Library menggunakan Obyek Browser, lihat gambar di bawah ini:

Anda dapat sampai kepada proyek anda sendiri untuk bekerja sebagai suatu otomasi Klien sekalipun anda tidak menambahkan suatu acuan kepad library. Di dalam kasus itu , bagaimanapun, anda harus menciptakan object menggunakan fungsi CreateObject sebagai ganti kata kunci yang baru. Dan anda harus menyimpan acuan obyek di dalam referensi umum/generic seperti veriabel As Object Seperti dibanding variabel yang spesifik, yang berarti bahwa anda hanya dapat menggunakan sedikit efisiendi pada late-binding dibanding early-binding. Semua klien yang ditulis dalam Visual Basic 3 dan VBSCRIPT dapat mengakses otomasi Server hanya dengan melalui metoda ini .

Daftar Isi

  • Menyusun ActiveX Component
  • Apakah itu COM
  • Membuat Pendek Sejarah yang Panjang
  • Tipe Komponen Component Object Model (COM)
  • In-process servers (DLL)
  • Local out-of-process servers (EXE)
  • Remote out-of-process servers (EXE)
  • Menggunakan Komponen yang Sudah Ada
  • Membuat ActiveX EXE Server
  • Langkah Dasar
  • Mengatur Kelengkapan Proyek Program
  • Mengatur Kelengkapan Class
  • Menjalankan Proyek Server
  • Membuat Aplikasi Client
  • Mencoba Aplikasi Client
  • Instance
  • Memilih Pengaturan yang Benar
  • Private
  • PublicNotCreatable
  • SingleUse
  • MultiUse
  • GlobalSingleUse and GlobalMultiUse
  • Obyek Public dan Private
  • Obyek SingleUse dan anda sendiriltiUser
  • Instancing ke dalam
  • Obyek Global
  • Melewatkan Data Antar Aplikasi
  • Marshaling
  • Tipe Data Sederhana
  • Obyek Private dan Public
  • Type library
  • Tips Bagaimana Efektif?
  • Menjebak Kesalahan
  • Kesalahan pada komponen server
  • Kesalahan pada aplikasi klien
  • Komponen Sibuk dan Komponen yang Dapat Ditunda
  • Komponen Dengan User Interface
  • Menetukan Mode Mulai Program / StartMode
  • Menampilkan Form
  • Membatasi Aksi Pengguna
  • Isu Kompatibilitas
  • Aturan Registry
  • Komponen yang Kompatible
  • Tiga Tingkatan Kompatibilitas dalam Visual Basic
  • Version Identical
  • Version Compatible
  • Version Incompatible
  • Kompatibilitas Versi dalam Visual Basic
  • No Compatibility
  • Project Compatibility
  • Binary Compatibility
  • Perhatian!
  • Tips Disain
  • Meregister Komponen
  • Mematikan Server
  • Persistence
  • Menyimpan - Kembalikan Status
  • Obyek PropertiBag
  • Hierarki Obyek Persistent
  • Menggunakan PropertyBag dengan Class Module
  • Membuat ActiveX DLL Server
  • Proses Kedalam - Komponen di Lingkungan Visual Basic
  • Perbedaan Proses Kedalam - Keluar , Komponen Proses
  • Penanganan Kesalahan
  • User Interface
  • Mematikan Server
  • Isue
  • Perbedaan ActiveX DLL dengan Program EXE Standar
  • Melekatkan Form dalam Sebuah DLL
  • Kinerja
  • Passing Data
  • Menset Basis Alamat DLL
  • Mengembangkan Aplikasi dengan DLL Satelit
  • File Sumberdaya
  • DLL Satelit
  • Aplikasi Klien yang Peduli dengan Aspek Lokal
  • Membuat ActiveX Component Menjadi Multithreading
  • Menganyam Model
  • Membuat Componen ActiveX EXE Menjadi Multithreadeding
  • Thread Pools
  • Manfaat MultiThreading
  • Isu Tentang User-Interface dalam multithreadeding
  • Eksekusi Tanpa Controls
  • Membuat Komponen ActiveX DLL Menjadi multithreadeding
  • Membuat Aplikasi Visual Basic Menjadi multithreadeding
  • Menentukan Thread Utama
  • Mengimplementasikan Multithreadeding
  • Mengujicoba Aplikasi Multithreadeding
  • Menyusun ActiveX Control
  • Dasar - dasar ActiveX Control
  • Membuat Module UserControl
  • Menggunakan Wizard
  • Menambahkan Kelengkapan Kontrol
  • Mendelegasikan Even, Metode dan Properti
  • Properti Buatan Sendiri
  • Metode Buatan Sendiri
  • Event Buatan Sendiri
  • Properti Pada Kontrol Banyak
  • Keberadaan Properti
  • Event Untuk Merubah Ukuran Kontrol

[download: 30.07 MB]