如何从Delphi的Open Tools API中检索新的单位名称
题
我已经在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
返回falseIOTACreator.GetCreatorType
返回适当的标识符(sUnit
,sForm
, ,等等) - 我不确定这一点,但这也可能很重要
这里 是一个工作示例。我刚刚检查了它,并且代码似乎仍然按照Delphi XE的预期工作。
不隶属于 StackOverflow