将tlb文件导入我的MFC应用程序时遇到问题

时间:2019-10-09 01:49:21

标签: debugging import mfc com

我正在尝试使用MFC库DLL创建MFC自动化COM对象,但是出现问题。我已经创建了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,但找不到它,这很奇怪。我不确定为什么未注册与coclass相关联的uuid。

在处理此问题已有相当长的时间后,我将不胜感激。

0 个答案:

没有答案