Anti-Monikers
OLE menyediakan implementasi jenis moniker khusus yang disebut anti-moniker. Anda menggunakan moniker ini dalam pembuatan kelas moniker baru. Anda menggunakannya sebagai inversi moniker yang terdiri dari moniker, secara efektif membatalkan moniker itu, dengan cara yang sama seperti operator ".." memindahkan tingkat direktori dalam perintah sistem file.
Perlu memiliki anti-moniker yang tersedia, karena setelah moniker komposit dibuat, tidak mungkin untuk menghapus bagian moniker jika, misalnya, objek bergerak. Sebagai gantinya, Anda menggunakan anti-moniker untuk menghapus satu atau beberapa entri dari moniker komposit.
Anti-monikers adalah kelas moniker yang secara eksplisit ditujukan untuk digunakan sebagai inversi. COM mendefinisikan fungsi CreateAntiMoniker bernama, yang mengembalikan anti-moniker. Anda umumnya menggunakan fungsi ini untuk mengimplementasikan metode IMoniker::Inverse .
Anti-moniker hanya merupakan inversi bagi jenis moniker yang diimplementasikan untuk mengobati anti-moniker sebagai inversi. Misalnya, jika Anda ingin menghapus bagian terakhir dari moniker komposit, Anda tidak boleh membuat anti-moniker dan menyusunnya ke akhir komposit. Anda tidak dapat yakin bahwa bagian terakhir komposit menganggap anti-moniker sebagai inversinya. Sebagai gantinya, Anda harus memanggil IMoniker::Enum pada moniker komposit, menentukan FALSE sebagai parameter pertama. Ini membuat enumerator yang mengembalikan moniker komponen dalam urutan terbalik. Gunakan enumerator untuk mengambil bagian terakhir komposit, dan panggil Inverse pada moniker tersebut. Moniker yang dikembalikan oleh Inverse adalah apa yang Anda butuhkan untuk menghapus bagian terakhir komposit.
Topik terkait