【问题标题】:How to add method to MFC-ActiveX如何向 MFC-ActiveX 添加方法
【发布时间】:2013-04-03 15:01:34
【问题描述】:

这个问题似乎很愚蠢,因为互联网上有很多解释,描述了如何添加一个新方法,以后生成的 OCX 的用户可以调用该方法。不幸的是,它对我不起作用。

我有一个基于 MFC 的 ActiveX 控件项目,它是使用 Visual Studio 6 创建并导入到 VS2010 的。在那里我没有可以使用向导添加方法的类视图(类视图选项卡窗格在那里,但它是空的)。到现在为止,现有代码也没有提供任何可调用的方法,因此我可以简单地复制它们。

那么:如何在 VS2010 中启用/调用类视图生成以使用向导?

一旦它起作用:这种方法应该是什么类型的外部可见?据我所知,向导要求某种类型...

【问题讨论】:

    标签: visual-studio-2010 mfc activex ocx visual-studio-6


    【解决方案1】:

    要将方法添加到您的 ActiveX 控件,您必须遵循以下步骤:

    1.在头文件中声明函数。

    例如

    public:
        int Connect(int timeout);
    

    2。在 CPP 文件中添加定义。

        int CSLWebLinkCtrl::Connect(int timeout)
        
        // Your logic here.
        
        return 0;
    }
    

    3。在 .idl 文件中公开您的方法

    [id(4), helpstring("method Connect")] int Connect(int timeout);
    

    希望对您有所帮助。 :)

    【讨论】:

    【解决方案2】:

    也许 SDF 文件已损坏?

    如果您右键单击类视图对话框栏,您应该会看到类向导的上下文菜单选项。从那里,您应该能够使用项目的类。

    【讨论】:

    • 嗯,没有 .sdf 文件 - 如何启用它的创建?
    • @Tom Archer - 在 VS2010 中它仍然是 .ncb 不是吗? .sdf 随 VS2012 一起提供。
    • @Roger - 我相信我们在 VS2k10 中改用了 SDF。在此之前,它是 NCB。
    • @Tom - 你是对的!我的立场是正确的 - stackoverflow.com/a/6296120/2065121
    • @Elmi - NCB(或 SDF)文件应与 SLN 文件位于同一文件夹中。要尝试的一件事是关闭 VS 解决方案,删除 NCB 文件,然后再次打开 VS 解决方案。那应该重新创建 NCB 文件。
    猜你喜欢
    • 2012-07-28
    • 2011-01-10
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多