Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Automation (sebelumnya dikenal sebagai OLE Automation) memungkinkan satu aplikasi memanipulasi objek yang diterapkan di aplikasi lain, atau mengekspos objek sehingga dapat dimanipulasi.
Server Automation adalah aplikasi (jenis server COM) yang mengekspos fungsionalitasnya melalui antarmuka COM ke aplikasi lain, yang disebut klien Automation. Paparan memungkinkan klien Automation untuk mengotomatiskan fungsi tertentu dengan langsung mengakses objek dan menggunakan layanan yang mereka sediakan.
Server dan klien Automasi menggunakan antarmuka COM yang selalu berasal dari IDispatch
dan mengambil serta mengembalikan sekumpulan tipe data tertentu yang disebut tipe Automasi. Anda dapat mengotomatiskan objek apa pun yang mengekspos antarmuka Automation, menyediakan metode dan properti yang dapat Anda akses dari aplikasi lain. Automasi tersedia untuk objek OLE dan COM. Objek otomatis mungkin lokal atau jarak jauh (pada komputer lain yang dapat diakses di seluruh jaringan); oleh karena itu ada dua kategori otomatisasi:
Automasi (lokal).
Automasi Jarak Jauh (melalui jaringan, menggunakan COM Terdistribusi, atau DCOM).
Mengekspos objek bermanfaat ketika aplikasi menyediakan fungsionalitas yang berguna untuk aplikasi lain. Misalnya, kontrol ActiveX adalah jenis server Automation; aplikasi yang menghosting kontrol ActiveX adalah klien otomatisasi kontrol tersebut.
Sebagai contoh lain, prosesor kata mungkin mengekspos fungsionalitas pemeriksaan ejaannya ke program lain. Paparan objek memungkinkan vendor untuk meningkatkan aplikasi mereka dengan menggunakan fungsionalitas aplikasi lain yang siap pakai. Dengan cara ini, Automation menerapkan beberapa prinsip pemrograman berorientasi objek, seperti penggunaan kembali dan enkapsulasi, pada tingkat aplikasi itu sendiri.
Yang lebih penting adalah dukungan yang disediakan Automation untuk pengguna dan penyedia solusi. Dengan mengekspos fungsionalitas aplikasi melalui antarmuka umum yang terdefinisi dengan baik, Automation memungkinkan untuk membangun solusi komprehensif dalam satu bahasa pemrograman umum, seperti Microsoft Visual Basic, alih-alih dalam bahasa makro khusus aplikasi yang beragam.
Banyak aplikasi komersial, seperti Microsoft Excel dan Microsoft Visual C++, memungkinkan Anda mengotomatiskan banyak fungsionalitasnya. Misalnya, di Visual C++, Anda dapat menulis makro VBScript untuk mengotomatiskan build, aspek pengeditan kode, atau tugas penelusuran kesalahan.
Meneruskan Parameter dalam Otomasi
Salah satu kesulitan dalam membuat metode Automation adalah membantu menyediakan mekanisme "aman" yang seragam untuk meneruskan data antara server otomatisasi dan klien. Automation menggunakan jenis VARIAN untuk meneruskan data. Jenis VARIAN adalah gabungan bertanda. Ini memiliki anggota data untuk nilai (ini adalah union anonim C++) dan anggota data yang menunjukkan jenis informasi yang disimpan dalam union tersebut. Jenis VARIAN mendukung sejumlah jenis data standar: bilangan bulat 2 dan 4 byte, angka floating-point 4 dan 8 byte, string, dan nilai Boolean. Selain itu, ini mendukung jenis HRESULT (kode kesalahan OLE), CURRENCY (jenis numerik titik tetap), dan jenis DATE (tanggal dan waktu absolut), serta pointer ke IUnknown
dan IDispatch
antarmuka.
Jenis VARIAN dienkapsulasi di kelas COleVariant . Kelas MATA UANG dan TANGGAL pendukung dienkapsulasi dalam kelas COleCurrency dan COleDateTime .
Sampel Automasi
AUTOCLIK Gunakan sampel ini untuk mempelajari teknik Otomasi dan sebagai fondasi untuk mempelajari Otomasi Jarak Jauh.
AKDUAL Menambahkan antarmuka ganda ke aplikasi server Automation.
CALCDRIV Aplikasi klien Automation yang mendorong MFCCALC.
INPROC Memperagakan suatu aplikasi server In-Process Automation.
IPDRIVE Aplikasi klien Automation yang mengendarai INPROC.
MFCCALC Menunjukkan aplikasi klien Automation.