我正在尝试使用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。
在处理此问题已有相当长的时间后,我将不胜感激。