Возникла проблема с импортом файла tlb в мое приложение MFC - PullRequest
1 голос
/ 09 октября 2019

Я пытаюсь создать COM-объект автоматизации MFC с помощью библиотеки DLL MFC, но у меня возникают проблемы. Я создал DLL и файл TLB был сгенерирован. Когда я хочу импортировать файл TLB в приложение MFC, Visual Studios сообщает мне

Cannot open source file C:/Users/XXX/documents/visual studio 2015/projects/ComDlgInDll/TestApp/ComDlgInDll.tlh

Я набираю эту команду:

#import "..\Debug\ComDlgInDll.tlb" no_namespace

И даже если я просто набираю

#import 

Он просто пойдет прямо по пути и скажет, что не может найти файл TLH.

У меня вообще нет файла TLH, поэтому я не понимаю, почемуЯ не могу импортировать это.

Буду признателен за решение, так как я новичок в MFC и COM.

Я также хотел бы упомянуть, что при создании приложения C # для Windows Forms я добавляю DLL в качестве ссылки COM, а затем набираю:

ComDlgInDll.ComDialogFactory var = new ComDlgInDll.ComDialogFactory();
var.GetDialog();

Я получаю эту ошибку:

Retrieving the COM class factory for component with CLSID {1B2F7173-E140-47F3-8921-860BD434B05E} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

Я даже зашел в реестр, чтобы найти этот uuid, и не смог его найти, что странно. Я не уверен, почему тот uuid, который связан с коклассом, не регистрируется.

Буду признателен за любую помощь, поскольку я уже давно занимаюсь этим.

...