Bagikan melalui


EXT_COMMAND makro (engextcpp.hpp)

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.

Catatan Sebagai alternatif untuk menyediakan string yang menjelaskan argumen, Anda dapat menggunakan string "{{custom}}" untuk menunjukkan bahwa perintah ekstensi akan mengurai argumen itu sendiri. Metode GetRawArgStr dapat digunakan untuk mengambil argumen mentah untuk penguraian.
 

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)

Lihat juga

EXT_CLASS

EXT_COMMAND_METHOD

ExtExtension