代码之家  ›  专栏  ›  技术社区  ›  Uwe Raabe

是否可以向typelib添加其他guid?

  •  0
  • Uwe Raabe  · 技术社区  · 16 年前

    我有一个描述一些接口的类型库。由于其中一些接口用作类别,我想将类别ID添加到typelib中。因此,问题是:

    a) 如何在Delphi(2007年及以后)中实现这一点?

    或者作为另一种选择

    b) 是否可以且建议使用CATID的接口GUID?

    1 回复  |  直到 16 年前
        1
  •  1
  •   gimpf    16 年前

    例如,我不知道德尔菲。但是在C++中,它只是将接口描述添加到MIDL文件中。因为您似乎只使用接口,所以可能也不需要CoClass实现,所以这已经足够了。基本上,您是如何将其他接口添加到typelib的?现在就这样做吧。

    typelib-editor . 似乎添加接口只是正确的关键字问题。[/edit]

    至于b),我认为使用接口作为类别id没有任何问题,但这个问题有点模糊。。。由于可能的类别集是固定的,并且您不使用类似于继承的行为(至少我认为您使用的是接口GUID,而不是接口本身),为什么不使用枚举器呢?使用接口等似乎是一个过度设计的解决方案,除非接口确实是这样使用的,即提供对某些特定类别行为的访问。

    [编辑]正如你所说 ICatRegister 等等,我明白为什么要使用guid了。由于类别guid与COM接口guid位于不同的名称空间中,因此请使用相同的名称空间。无论如何,在与类别ID相同的范围内,您的接口GUID需要是唯一的,并且具有1:1映射似乎也是维护的一个简单模型。[/edit]

    推荐文章