用C+编写.dll+;对于VB6 我试图把基于VB6的.ocx移植到C++中。我选择的迁移路径如下: 将当前的.ocx迁移到一个普通的COM.dll中(它实际上没有任何用户界面组件,我也不知道为什么它是一个.ocx) < LI>编写COM.DLL的C++版本,并将其作为我的替换。< /LI>

用C+编写.dll+;对于VB6 我试图把基于VB6的.ocx移植到C++中。我选择的迁移路径如下: 将当前的.ocx迁移到一个普通的COM.dll中(它实际上没有任何用户界面组件,我也不知道为什么它是一个.ocx) < LI>编写COM.DLL的C++版本,并将其作为我的替换。< /LI>,com,vb6,com-interop,vb6-migration,Com,Vb6,Com Interop,Vb6 Migration,我的问题是: a。这似乎是正确的方式吗 b。在VisualStudio 2010中,如何在C++中创建COM.DLL?我尝试创建一个简单的.dll,使用tlbexp生成一个.tlb文件,但这似乎不起作用。我可以将我的.tlb拉入VB5项目,但没有要实例化的类。如果尝试使用regsvr32注册.dll,则会出现“无入口点”错误 我在VS2005中看到了一个选项“注册COM互操作”,但在VS2010中我还没有找到一个等价的选项 提前感谢您的帮助 您必须创建一个ATL项目: 然后将COM对象添加到组件

我的问题是:

a。这似乎是正确的方式吗

b。在VisualStudio 2010中,如何在C++中创建COM.DLL?我尝试创建一个简单的.dll,使用tlbexp生成一个.tlb文件,但这似乎不起作用。我可以将我的.tlb拉入VB5项目,但没有要实例化的类。如果尝试使用regsvr32注册.dll,则会出现“无入口点”错误

我在VS2005中看到了一个选项“注册COM互操作”,但在VS2010中我还没有找到一个等价的选项


提前感谢您的帮助

您必须创建一个ATL项目:
然后将COM对象添加到组件中。您收到的缺少入口点是因为标准dll没有用于注册的正确入口点,ATL项目会为您执行此操作。

您必须创建ATL项目:
然后将COM对象添加到组件中。您收到的缺少入口点是因为标准dll没有用于注册的正确入口点,ATL项目会为您执行此操作。

您是我的英雄!这是钥匙,你是我的英雄!这是关键。