将Delphi2007升级到XE6-Where';类型库编辑器是什么?

将Delphi2007升级到XE6-Where';类型库编辑器是什么?,delphi,delphi-2007,delphi-xe6,Delphi,Delphi 2007,Delphi Xe6,这可能是我正在做的愚蠢的事情,但是我已经从2007升级到了XE6/7,并且在新版本中似乎找不到类型库编辑器 我知道TLB格式在以后的版本中已经更改,我有Myproject_TLB.pas样式的文件,可以编译,但我不能更改它们 帮助文件似乎表明库编辑器仍然存在,但我找不到方法访问它,“查看/类型库”选项变灰 有人能告诉我正确的方向吗?我需要添加更多属性,而帮助文件没有用处。类型库编辑器仍然存在,但现在是RIDL文件类型的嵌入式编辑器。根据David的评论,IDE现在使用此RIDL文件格式作为类型库

这可能是我正在做的愚蠢的事情,但是我已经从2007升级到了XE6/7,并且在新版本中似乎找不到类型库编辑器

我知道TLB格式在以后的版本中已经更改,我有Myproject_TLB.pas样式的文件,可以编译,但我不能更改它们

帮助文件似乎表明库编辑器仍然存在,但我找不到方法访问它,“查看/类型库”选项变灰


有人能告诉我正确的方向吗?我需要添加更多属性,而帮助文件没有用处。

类型库编辑器仍然存在,但现在是RIDL文件类型的嵌入式编辑器。根据David的评论,IDE现在使用此RIDL文件格式作为类型库的存储格式,而不是TLB文件

在XE6+IDE中打开RIDL文件时,您会发现一个非常熟悉的编辑器界面—基本上是类型库编辑器。但是,现在可以通过底部选项卡条访问文本,而不是属性旁边的旧文本选项卡,使用顶部的标志等。RIDL(文本)视图显示在代码选项卡中,而类型库编辑器样式视图显示在设计选项卡中

您只需将D2007项目中的TLB文件转换为RIDL格式,并将这些RIDL文件添加到XE6+项目中。TLB文件将根据IDE的需要从这些RIDL文件生成,类似于从RC资源脚本生成二进制RES文件的方式

旧的类型库编辑器也支持此RIDL格式,因此将旧TLB文件转换为RIDL的一种方法可能是:

  • 在D2007 IDE类型库编辑器中打开TLB文件
  • 在层次结构中选择库根节点
  • 切换到文本选项卡
  • 选择全部内容
  • 复制/粘贴到文本编辑器中,并使用 RIDL扩展
  • 将该RIDL文件添加到XE6+项目中
然后,您可以选择通过直接编辑RIDL或使用您可能更熟悉的设计界面来修改类型库。但是,无论您选择哪个选项,现在都是应该添加到版本控制中的RIDL文件,而不是TLB

如果您没有旧的IDE可用,或者如果您只是喜欢,可以使用Delphi提供的命令行实用程序进行转换:

tlibimp -I foo.tlb
将为指定的foo.tlb输入文件创建foo.ridl文件。请注意,tlibimp的较旧版本不支持这种形式的-I选项,但应该由Delphi 2010及更高版本提供的版本支持


如果您收到一个错误,说您需要在“I”选项后加上“+”或“-”,那么您正在运行较旧版本的tlibimp,可能在您的路径上找到。

新版本使用基于ridl的文件来存储类型库。这是更好的方式,因为它是文本。请参阅D2009此处的新增内容:@David Yes我知道,缺少的是编辑我的旧式项目类型库所需的操作。将.tlb文件转换为.ridl文件就是我所做的。我想。谢谢,不幸的是,这是一台新机器,所以没有D2007进行转换。我发现我可以做文件/打开和打开TLB文件,它显示类型信息,但它不允许我编辑它。是的,就是这样。我已经尝试过了,但是在我的路径上一定有一些旧的tlibimp,它不支持简单的“-I”选项,但是从2010年起它就得到了支持,并且可以完成这项工作。我也会在答案中加上这一点。