Bagikan melalui


Server Automation

Automation memungkinkan aplikasi Anda memanipulasi objek yang diterapkan di aplikasi lain, atau mengekspos objek sehingga dapat dimanipulasi. Server Automation adalah aplikasi yang mengekspos objek yang dapat diprogram (disebut objek Automation) ke aplikasi lain (disebut klien Automation). Server Automation terkadang disebut komponen Automation.

Mengekspos objek Automation memungkinkan klien mengotomatiskan prosedur tertentu dengan langsung mengakses objek dan fungsionalitas yang disediakan server. Mengekspos objek dengan cara ini bermanfaat ketika aplikasi menyediakan fungsionalitas yang berguna untuk aplikasi lain. Misalnya, prosesor kata mungkin mengekspos fungsionalitas pemeriksaan ejaannya sehingga program lain dapat menggunakannya. Paparan objek dengan demikian memungkinkan vendor untuk meningkatkan fungsionalitas aplikasi mereka dengan menggunakan fungsionalitas yang siap dibuat dari aplikasi lain.

Objek Automation ini memiliki properti dan metode sebagai antarmuka eksternalnya. Properti diberi nama atribut objek Automation. Properti seperti anggota data kelas C++. Metode adalah fungsi yang berfungsi pada objek Automation. Metode seperti fungsi anggota publik dari kelas C++.

Catatan

Meskipun properti seperti anggota data C++, properti tersebut tidak dapat diakses secara langsung. Untuk menyediakan akses transparan, siapkan variabel internal di objek Automation dengan sepasang fungsi anggota get/set untuk mengaksesnya.

Dengan mengekspos fungsionalitas aplikasi melalui antarmuka umum yang terdefinisi dengan baik, Automation memungkinkan untuk membangun aplikasi dalam satu bahasa pemrograman umum seperti Microsoft Visual Basic alih-alih dalam beragam bahasa makro khusus aplikasi.

Dukungan untuk Server Automation

Visual C++ dan kerangka kerja MFC menyediakan dukungan ekstensif untuk server Automation. Mereka menangani banyak overhead yang terlibat dalam membuat server Automation, sehingga Anda dapat memfokuskan upaya Anda pada fungsionalitas aplikasi Anda.

Mekanisme utama kerangka kerja untuk mendukung Automation adalah peta pengiriman, sekumpulan makro yang diperluas ke dalam deklarasi dan panggilan yang diperlukan untuk mengekspos metode dan properti untuk OLE. Peta pengiriman umum terlihat seperti ini:

BEGIN_DISPATCH_MAP(CMyServerDoc, COleServerDoc)
DISP_PROPERTY(CMyServerDoc, "Msg", m_strMsg, VT_BSTR)
DISP_FUNCTION(CMyServerDoc, "SetDirty", SetDirty, VT_EMPTY, VTS_I4)
END_DISPATCH_MAP()

Panduan Kelas dan Tampilan Kelas membantu mempertahankan peta pengiriman. Saat Anda menambahkan metode atau properti baru ke kelas, Visual Studio menambahkan makro atau DISP_PROPERTY terkait DISP_FUNCTION dengan parameter yang menunjukkan nama kelas, nama eksternal dan internal metode atau properti, dan jenis data.

Kotak dialog Tambahkan Kelas juga menyederhanakan deklarasi kelas Automation dan manajemen properti dan operasinya. Saat Anda menggunakan kotak dialog Tambahkan Kelas untuk menambahkan kelas ke proyek, Anda menentukan kelas dasarnya. Jika kelas dasar mengizinkan Automation, kotak dialog Tambahkan Kelas menampilkan kontrol yang Anda gunakan untuk menentukan apakah kelas baru harus mendukung Automation, apakah itu "OLE creatable" (yaitu, apakah objek kelas dapat dibuat pada permintaan dari klien COM), dan nama eksternal untuk digunakan klien COM.

Kotak dialog Tambahkan Kelas kemudian membuat deklarasi kelas, termasuk makro yang sesuai untuk fitur OLE yang telah Anda tentukan. Ini juga menambahkan kode kerangka untuk implementasi fungsi anggota kelas Anda.

MFC Application Wizard menyederhanakan langkah-langkah yang terlibat dalam membuat aplikasi server otomatisasi Anda tidak berfungsi. Jika Anda memilih kotak centang Automation dari halaman Fitur Tingkat Lanjut, Wizard Aplikasi MFC menambahkan ke fungsi aplikasi InitInstance Anda, panggilan yang diperlukan untuk mendaftarkan objek Automation Anda dan menjalankan aplikasi Anda sebagai server Automation.

Apa yang ingin Anda lakukan

Baca juga

Automation
Wizard Aplikasi MFC