7

我在 Delphi XE 中编写了一个向导,它工作正常。但是,我还没有弄清楚如何访问 Delphi 的 OTA 可以创建的生成的默认单元名称(或表单名称或项目名称)。

在我的旧式向导中,我能够调用 ToolServices.GetNewModuleName 来发现一个可用的单元和表单名称,我可以在生成相关的源文件时使用它们。今天的开放工具 API 中的等价物是什么?

根据 ToolsAPI 单元的注释,我应该从 IOTAModuleCreator.GetImplFileName 方法返回一个空白,让 Delphi 生成文件名。我从这个方法返回一个空字符串,但仍然看不到在哪里可以访问 Delphi 生成的文件名。

4

3 回答 3

4

有一种获取新表格和单位名称的特定方法:

(BorlandIDEServices 作为 IOTAModuleServices).GetNewModuleAndClassName('', UnitIdent, FormName, FileName);

我在几个例子中使用过,它似乎工作正常。

于 2010-11-18T14:47:35.423 回答
2

IOTAModuleCreator.NewImplSource 方法有一个“ModuleIdent”参数,它是单元名称。

于 2010-11-16T16:45:34.033 回答
2

在我的测试中,它按预期工作(方法中的ModuleIdent参数NewImplSource接收新的单元名称)。再次检查您的实施,特别是确保:

  • IOTACreator.GetUnnamed返回真
  • IOTACreator.GetExisting返回 False
  • IOTACreator.GetCreatorType返回适当的标识符(sUnit,sForm等) - 我不确定这一点,但它也可能很重要

是一个工作示例。我刚刚检查了一下,代码在 Delphi XE 中似乎仍然可以正常工作。

于 2010-11-17T14:26:38.543 回答