Delphi 2010 导入类型库时更改 class 名称?

Delphi 2010 Changing class names when importing type library?

我正在尝试使用 delphi 创建数据库,因此我将导入 "Microsoft ADO Ext. 2.8 for DDL and Security" 以连接到访问数据库,但我无法编辑 class 导入之前的名称,就像您在 delphi 7 中所做的那样,例如将 "TTable" 更改为 "TADOXTable"。由于更改 class 名称的框显示为灰色。

有没有办法改变这个,或者我是否必须在生成的 ADOX_TBL.pas 文件中手动编辑 class 名称?

恐怕 "Is there a way to change this or do I have to manual edit the class name in the ADOX_TBL.pas file generated?" 的简短答案似乎分别是 "No" 和 "Yes",至少对于 D2010 和例如CB2007。

我认为他们在某些时候重新设计了组件安装向导,并且编辑 CoClass 名称的能力在一些版本中出现了问题。我不确定,但这可能与他们显然必须做的工作有关,以允许导入 Net 程序集。

幸运的是,它不是一个阻碍,因为正如您所说,您可以编辑 TLB 导入 .Pas 文件中的名称,然后将其添加到新的或现有的 Package .Dpk 的 "Contains" 子句中文件。

如果您必须反复重新导入相同类型的库,那可能会变得乏味。在这种情况下,您可以查看 Delphi Bin 目录中的文件 TLibImp.Sym。除其他事项外,它还包含许多 COM 库的等式样式映射(为某些库创建更合理的名称并避免其他库之间的名称冲突)。它没有记录,但如何向其中添加您自己的条目应该是相当明显的。

在 XE4 中,编辑 CoClass 名称的功能已恢复,如下所示:

单击 Class 名称列表右侧的 [...] 按钮会弹出此弹出窗口

您可以在其中编辑向导将在 TLB 导入单元中创建的组件的 class 名称,就像在 D7 中一样。