我已经在Delphi Xe写了一个向导,而且工作正常。但是,我尚未弄清楚如何访问Delphi OTA可以创建的生成的默认单元名称(或表单名称或项目名称)。

在我的老式向导中,我能够致电Toolservices.getNewModulename,以发现可用的单元和表单名称,我在生成关联的源文件时可以使用该名称。当今的开放工具API中的等效是什么?

根据ToolsAPI单元注释,我应该从iotamodulecreator.getimplfilename方法中返回一个空白,以使Delphi生成文件名。我正在从此方法返回一个空字符串,但仍然看不到可以访问Delphi正在生成的文件名。

有帮助吗?

解决方案

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

(borlandideservices作为iotamoduleservices).getNewModuleanDclassName('',Unitiest,FormName,filename);

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

其他提示

iotamodulecreator.newimplsource的方法具有“模块”参数,它是单位名称。

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

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

这里 是一个工作示例。我刚刚检查了它,并且代码似乎仍然按照Delphi XE的预期工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top