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.
Makro EXT_COMMAND digunakan untuk menentukan perintah ekstensi yang dideklarasikan dengan menggunakan makro EXT_COMMAND_METHOD.
Perintah ekstensi didefinisikan sebagai berikut:
Sintaksis
void EXT_COMMAND(
_Name,
_Desc,
_Args
);
Parameter
_Name
Nama perintah ekstensi. Ini harus sama dengan parameter _Name yang digunakan untuk mendeklarasikan perintah ekstensi dengan menggunakan EXT_COMMAND_METHOD.
Karena EXT_COMMAND adalah makro, _Name harus berupa nama kosong perintah ekstensi dan tidak boleh diapit dalam tanda kutip atau menjadi variabel.
_Desc
String yang menjelaskan perintah ekstensi.
_Args
String yang menjelaskan argumen yang diharapkan oleh perintah ekstensi. Untuk informasi tentang bagaimana string _Args diformat, lihat Mengurai Argumen Ekstensi.
Mengembalikan nilai
Tidak
Komentar
Isi perintah ekstensi tidak mengambil argumen apa pun. Namun, karena perintah ekstensi dinyatakan sebagai metode kelas EXT_CLASS, perintah ini memiliki akses ke semua anggota ExtExtension kelas dasar, beberapa di antaranya diinisialisasi untuk eksekusi perintah ekstensi.
Makro EXT_COMMAND_METHOD harus digunakan untuk mendeklarasikan perintah ekstensi. Seperti semua deklarasi C++, deklarasi EXT_COMMAND_METHOD akan muncul dalam file sumber sebelum definisi EXT_COMMAND.
Ketika mesin debugger memanggil metode perintah ekstensi, mesin debugger membungkus panggilan dalam mencoba / kecuali blok. Ini melindungi mesin dari beberapa jenis bug dalam kode ekstensi; tetapi, karena panggilan ekstensi dijalankan dalam utas yang sama dengan mesin, mereka masih dapat menyebabkannya crash.
Makro ini juga membuat fungsi yang disebut _Name (yang memanggil metode yang ditentukan oleh makro). Agar mesin dapat memanggil ekstensi, fungsi ini harus diekspor dari DLL pustaka ekstensi.
Konstanta EXT_CLASS menentukan nama kelas C++ yang mewakili pustaka ekstensi EngExtCpp.
EXT_CLASS
#ifndef EXT_CLASS
#define EXT_CLASS Extension
#endif
Nilai default EXT_CLASS adalah ekstensi . Anda dapat mengubah nilai ini dengan menentukan EXT_CLASS sebelum menyertakan file header Engextcpp.hpp.
Setiap perintah ekstensi di pustaka dideklarasikan sebagai anggota kelas EXT_CLASS menggunakan makro EXT_COMMAND_METHOD. Misalnya, pustaka dengan dua perintah ekstensi, extcmd dan anotherextcmd , dapat menentukan kelas EXT_CLASS sebagai berikut:
class EXT_CLASS : public ExtExtension
{
public:
EXT_COMMAND_METHOD(extcmd);
EXT_COMMAND_METHOD(anotherextcmd);
}
Perintah ekstensi yang telah dideklarasikan dengan menggunakan EXT_COMMAND_METHOD harus ditentukan dengan menggunakan EXT_COMMAND dan harus diekspor dari pustaka.
Makro EXT_DECLARE_GLOBALS membuat satu instans kelas EXT_CLASS.
Makro EXT_DECLARE_GLOBALS menyiapkan beberapa variabel global untuk digunakan oleh kerangka kerja ekstensi EngExtCpp. Ini termasuk membuat satu instans kelas EXT_CLASS yang mewakili pustaka ekstensi EngExtCpp.
Salah satu file sumber yang akan dikompilasi ke dalam pustaka ekstensi EngExtCpp harus menyertakan perintah berikut
EXT_DECLARE_GLOBALS()
Persyaratan
| Syarat | Nilai |
|---|---|
| Platform Target | Desktop |
| Header | engextcpp.hpp (termasuk Engextcpp.hpp) |