Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在.net中使用VB6.0窗体嵌入DLL_.net_Vb.net_Forms_Vb6 - Fatal编程技术网

在.net中使用VB6.0窗体嵌入DLL

在.net中使用VB6.0窗体嵌入DLL,.net,vb.net,forms,vb6,.net,Vb.net,Forms,Vb6,我有一个VB6项目的DLL,它有一个类和一个窗体。在调用窗体的构造函数时,将从该类调用窗体。我从项目中创建了一个DLL,将该DLL添加到我的.NET项目引用中。现在,当我调用该类DLL时,会出现以下错误: Creating an instance of the COM component with CLSID {4E44E1A1-391D-4846-B733-2618249FE35A} from the IClassFactory failed due to the following erro

我有一个VB6项目的DLL,它有一个类和一个窗体。在调用窗体的构造函数时,将从该类调用窗体。我从项目中创建了一个DLL,将该DLL添加到我的.NET项目引用中。现在,当我调用该类DLL时,会出现以下错误:

Creating an instance of the COM component with CLSID {4E44E1A1-391D-4846-B733-2618249FE35A} from the IClassFactory failed due to the following error: 800a0196.

这意味着表单未打开。

VB6 ActiveX DLL中的表单必须从.NET以模式打开。您是表单模式吗?

我假设这是一个VB6 COM DLL,而不是扩展名为.DLL的ActiveX控件?这是在您的Visual Studio dotNet环境中发生的,还是仅在您部署应用程序时发生的?有时,regsvr32帮助它们不必是模态的。如果需要的话,COM DLL可以在窗体的整个生命周期内打开窗体。我的答案改进为只处理VB6 ActiveX交互。我刚刚再次测试了这一点,在.NET中,错误非模态表单无法从ActiveX DLL、ActiveX控件或属性页显示在此主机应用程序中。被抛出。