我在Delphi XE中编写了一个向导,它运行正常。但是,我还没有弄清楚如何访问Delphi的OTA可以创建的生成的默认单元名称(或表单名称或项目名称)。
在我的旧式向导中,我能够调用ToolServices.GetNewModuleName来发现在生成关联源文件时可以使用的可用单元和表单名称。今天的开放工具API中的等价物是什么?
根据ToolsAPI单元注释,我应该从IOTAModuleCreator.GetImplFileName方法返回一个空白,让Delphi生成文件名。我从这个方法返回一个空字符串,但仍然无法看到我可以访问Delphi正在生成的文件名。
答案 0 :(得分:4)
有一种获取新表单和单位名称的具体方法:
(BorlandIDEServices as IOTAModuleServices).GetNewModuleAndClassName( '',UnitIdent,FormName,FileName);
我在一些例子中使用它似乎工作正常。
答案 1 :(得分:2)
方法IOTAModuleCreator.NewImplSource有一个“ModuleIdent”参数,它是单位名称。
答案 2 :(得分:2)
在我的测试中,它按预期工作(ModuleIdent
方法中的NewImplSource
参数接收新的单位名称)。再次检查您的实施,特别是确保:
IOTACreator.GetUnnamed
返回True IOTACreator.GetExisting
返回False IOTACreator.GetCreatorType
会返回相应的标识符(sUnit
,sForm
等) - 我不确定这一点,但也可能很重要Here是一个有效的例子。我只是检查了它,代码似乎仍然在Delphi XE中按预期工作。