Bagikan melalui


Automation

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 Automation menggunakan antarmuka COM yang selalu berasal dari IDispatch dan mengambil dan mengembalikan sekumpulan jenis data tertentu yang disebut jenis Automation. 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 Automation

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 union yang ditandai. Ini memiliki anggota data untuk nilai (ini adalah gabungan C++ anonim) dan anggota data yang menunjukkan jenis informasi yang disimpan dalam serikat pekerja. 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 Automation dan sebagai fondasi untuk mempelajari Automasi Jarak Jauh.

  • ACDUAL Menambahkan antarmuka ganda ke aplikasi server Automation.

  • Aplikasi klien CALCDRIV Automation yang mendorong MFCCALC.

  • INPROC Menunjukkan aplikasi server In-Process Automation.

  • Aplikasi klien IPDRIVE Automation yang mendorong INPROC.

  • MFCCALC Menunjukkan aplikasi klien Automation.

Apa yang ingin Anda ketahui lebih lanjut tentang

Apa yang ingin Anda lakukan

Baca juga

MFC COM