Используется:
Win 7x64;
Visual Studio 2019;
MindManager 2019 - MM 19.1.198 (32-x.) 10.01.2019;
Проблема:
Мой код выдает ошибку класса COM в строке:
mm.Topic topic = new mm.Topic ();
. Я получаю ошибку. Ошибка:
Не удалось получить фабрику класса COM для компонента с CLSID {169B91A2-8B3F-4C13-8FD6-81D4C2F76F3D} из-за следующей ошибки: 80040154 Класс не зарегистрирован(Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Код:
using mm = Mindjet.MindManager.Interop;
mm.Application app;
mm.Document docActiv;
public Form1()
{
InitializeComponent();
app = new mm.Application();
}
public void SetXMLProperty(string xmlContent)
{
docActiv = app.ActiveDocument;
mm.Topic topic = new mm.Topic();
topic.Xml = xmlContent;
docActiv.FloatingTopics.Insert(topic);
}
Вопрос.
Чтобиблиотека мне нужно зарегистрироваться для Topic
класса?
Update-1
На основании комментария pstrjds
- цитата:
> Я нашелэтот потенциальный обходной путь` Использование 32-битного COM-объекта в 64-битной среде https://techtalk.gfi.com/32bit-object-64bit-environment/
Я выполняю действия согласно инструкциям:
1. Я определил GUID COM-объекта.
См. Picture-1
.
2. Я ищу объект:
HKey_Classes_Root\Wow6432Node\CLSID\[GUID]
3. Результат.
У меня нет объекта {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785} в папке HKey_Classes_Root\Wow6432Node\CLSID\[GUID]
нет.
Объект {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785} находится в папках ниже. (При необходимости я могу прикрепить изображения содержимого этих папок)\ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
HKEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Classes \ TypeLib {1E1D4AF9-6640-49C1-A33B_CAL_HB_64E5-8B-8B-8-RU-8B-8B-8-C-8B-8B-8B-8B-8B-8B-8B-8-HB-8B-8B-8B-8B-8B-8-D-8-HBB-8-HBB-8B-8B-8 все равноClasses \ Wow6432Node \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Classes \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Classes \Wow6432Node \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
Question.Update-1
1. В какой папке мне нужно следовать инструкциям?
Изображение-1
![Picture-1](https://i.stack.imgur.com/XZpMg.png)
Обновление 2.
Я пытаюсь изменитьплатформа решения.
Изображение-1 ![enter image description here](https://i.stack.imgur.com/e3o2g.png)
Изображение-2 ![enter image description here](https://i.stack.imgur.com/ZV2A0.png)
Для x86
Через - 2 сек. ошибка.
Строка 36. mm.Topic topic = new mm.Topic ();
Failed to get COM class factory for component with CLSID {169B91A2-8B3F-4C13-8FD6-81D4C2F76F3D}<br>
due to the following error: 80040154 The class is not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Для x64
После - 25 сек. ошибка.
Строка 32. app = new mm.Application ();
Failed to get COM class factory for component with CLSID {CE786F70-B064-4766-B24D-E6D942936D50} due to the following error: 80080005 Error while executing server application (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
Примечание.
Для X86 требуется компонент с CLSID {169B91A2-8B3F-4C13-8FD6-81D4C2F76F3D};
Для x64 используется компонент с CLSID {CE786F70-B064-4766-B24D-E6D942936D50}.