【发布时间】:2012-10-22 10:33:06
【问题描述】:
所以,我正在玩弄 ActiveX 和 C# 以及它们如何协同工作的方式。问题是我一开始就遇到了提到的错误。我遵循的步骤:
在 VS2010 中,我选择了 MFC ActiveX Control 项目。然后我添加了一个方法“SHORT Multiply(SHORT a, SHORT b);”通过单击在解决方案资源管理器中右键单击 ProjectnameLib 下的 _DProjectname 时弹出的菜单中的添加方法选项。该方法的代码如下:
SHORT CSampleProgramActivex01Ctrl::Multiply(SHORT a, SHORT b)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
// TODO: Add your dispatch handler code here
return ( a * b);
}
现在我创建了一个简单的 C# 控制台应用程序,它引用了生成的 COM 文件,当我尝试使用该方法时,应用程序停止并出现上述错误。我在互联网上搜索了错误,但没有提到明确的解决方案。任何帮助表示赞赏。如果你们想要澄清,请告诉我。
【问题讨论】:
-
@HansPassant:你知道我为什么会收到这个错误吗?我尝试了从 VS6 到 VS2010 的所有不同类型的 Visual Studio,但每次都遇到相同的错误。您是否有通过 MFC ActiveX 向导创建 .ocx 文件的简单教程。我之所以这样问,是因为供应商已通过 MFC ActiveX 向导创建了 .ocx,而我在该 ocx 中遇到了其他一些错误。所以我试图以同样的方式创建我自己的 .ocx 并模拟供应商遇到的问题。但在我去那里之前,我遇到了这个错误。任何帮助表示赞赏。