首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么VB6中没有智能感知?

为什么VB6中没有智能感知?
EN

Stack Overflow用户
提问于 2014-01-23 05:43:01
回答 1查看 942关注 0票数 0

我在C#中用VS2012编写了一个DLL:

代码语言:javascript
复制
namespace COMTest
{
    public class MyClass
    {
        public int Fun()
        {
            return 3;
        }
    }
}

然后我设置了"Make Visible=True“,在构建页面中,我设置了"Register for intercrop”。然后创建一个新的VB6项目,添加对生成的dll文件的引用,但……失败。后来尝试了tlb文件成功,但在说“a”之后没有intellisense。(没有“乐趣”提示)

代码语言:javascript
复制
Dim a As MyClass
Set a = New MyClass
MsgBox (a.Fun())

所以我的问题是:

1)为什么我必须引用tlb文件而不是dll文件? 2)为什么没有intellisense?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-23 07:25:07

试着在以下地方放置一个支票标记:

代码语言:javascript
复制
Tools->Options->Editor->Auto List Members

如果这没有帮助,那么要解决这个问题,请使用要在TLB中公开的方法和属性来定义一个公共接口,然后在类中实现该接口。另外,将ClassInterface (ClassInterfaceType.None)属性添加到类中。在开发组件时,可以使用此方法来避免使用ComVisible(False)属性。

您可以获得更多详细信息,这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21300299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档