如何解决如何强制预编译脚本在每次编译时运行
| 我们目前使用Delphi 2009和GIT来开发应用程序。我们已经建立了一个预构建脚本,以使用git中的信息生成版本号和构建ID,并将其编译为项目中包含的资源。问题在于此脚本无法在常规编译中运行。这意味着其他开发人员最终可能会在实际版本号和资源中的编号之间出现差异(尤其是在git中切换分支时)。 由于我们使用软件进行一些关键的计算,因此我们希望使用此内部版本ID来重现计算并跟踪问题。 除了试图迫使我的开发人员频繁按下shift-F9之外,如何确保在必要时(最好在每次编译时)运行prebuild脚本? 杰森 更新:确实,每次编译时都会运行预构建脚本。问题是,即使没有代码更改,我也希望在git中创建标签后按F9会得到不同的结果。解决方法
在每次编译之前都会运行预构建操作。
您在注释中指出,当您按F9时,有时有时无法执行操作。这是有道理的,因为F9或Run仅在认为源已更改的情况下才调用编译。
BeforeCompile通知程序插件的行为将完全相同。解决方案是确保在使用Ctrl + F9运行之前进行编译。
, 我们通过编写使用IOTAIDENotifier50接口的自定义IDE插件解决了类似的问题。特别是使用BeforeCompile方法来测试一些必需的项目设置并生成动态版本信息(VERSIONINFO资源)。每种构建类型(编译和构建)都会调用它。我们还会生成一个唯一的exe序列号并记录所有内容,这有助于我们追踪问题并类似于您的脚本。为了完整起见,我们仅在Delphi 2007和Delphi XE中做到了这一点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。