【发布时间】:2013-02-03 17:05:56
【问题描述】:
在我正在编写的组件中,我想包含automatic detection of registered image formats,但这是一个仅在禁用使用调试 DCU 的编译器选项时才有效的解决方案。
我真正想知道的是这个解决方案的替代方案,它不涉及编译器选项依赖性。
但目前,我只想知道如何在运行时检查是否设置了 Use Debug DCU's 编译器选项。
【问题讨论】:
-
如果不使用 IDE 怎么办?命令行构建。
-
AFAICT,选中该选项只会将提供给编译器的路径更改为 VCL/RTL dcu 文件。它实际上并没有改变任何其他东西,例如范围检查或其他选项。我不确定是否有任何方法可以检测到组件中的路径更改。
-
@KenWhite,它改变了分配:链接到“调试”DCU 的可执行文件具有不同版本的代码,更多测试,更少优化;如果低级 hack 依赖于一些硬编码的偏移量来获取它想要的数据,那么不同的布局将会带来不同的世界。
-
@CosminPrund 我没有看黑客。您很好地找出了真正的问题并提出了解决方案。
-
@NGLN 为什么需要在设计时知道?然后执行的
Graphics单元是IDE 加载的VCL 包中的单元。并且调试 DCU 被禁用。它与该编译器选项的设置无关。