Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menyelesaikan Pengecualian COM 'Kelas Tidak Berdaftar' (0x80040154)?

Bagaimana untuk Menyelesaikan Pengecualian COM 'Kelas Tidak Berdaftar' (0x80040154)?

Barbara Streisand
Barbara Streisandasal
2025-01-14 11:52:42793semak imbas

How to Solve

Menyelesaikan Pengecualian COM "Kelas Tidak Berdaftar"

Apabila memulakan kelas COM, anda mungkin menghadapi ralat:

<code>Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))</code>

Ini menandakan kelas COM yang digunakan oleh kod anda tidak didaftarkan dengan betul pada sistem anda. Begini cara membetulkannya:

1. Penjajaran Seni Bina:

Sahkan bahawa semua pemasangan anda dibina untuk seni bina sistem yang betul. Jika ralat berlaku dalam persekitaran 64-bit, pastikan himpunan anda disusun untuk x64. Membina semula penyelesaian anda untuk x86 mungkin menyelesaikan masalah.

2. Daftar semula Komponen COM:

Jika seni bina bukan masalahnya, cuba pasang semula komponen COM yang dirujuk dalam kod anda. Maklumat pemasang atau pendaftaran untuk komponen COM biasanya ditemui dalam pemasang Alat Microsoft Visual Studio untuk Office atau pendaftaran Windows (di bawah HKCR\CLSID).

Teknik Bermanfaat:

  • Editor Pendaftaran Visual Studio: Visual Studio termasuk Editor Pendaftaran untuk memeriksa dan melaraskan tetapan pendaftaran COM.
  • Utiliti Regasm.exe: Utiliti Windows RegAsm membenarkan pendaftaran manual dan penyahdaftaran kelas COM.
  • Mendayakan Aplikasi 32-bit: Dalam persekitaran 64-bit, pastikan sokongan aplikasi 32-bit didayakan dengan menetapkan Enable32BitApplications kunci pendaftaran kepada 1 (terletak di HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows).

Dengan mengikut langkah ini, anda boleh mendiagnosis dan menyelesaikan pengecualian pendaftaran COM dengan berkesan, memastikan aplikasi anda berjalan tanpa gangguan.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Pengecualian COM 'Kelas Tidak Berdaftar' (0x80040154)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn