关于断言

直接设置(我没试成功)
Project Options -> Compiler -> Assertions

我自己一般很少这样选择打开或关闭断言编译,而是这样做:

新建一个文件,命名为Complier.inc,然后在这个文件里面声明编译指令,如:
{$DEFINE Debug}
再然后,把项目中的所有文件(一般我每个项目写的时候首先创建inc文件,所以工作量也不是很大)中引入这个inc文件:
unit unit1;

{$I Complier.inc}

interface
....
当我需要写测试代码的时候(包括断言),就这样:

{$IFDEF Debug}
  ....//我的其它测试代码
  Assert(...);
{$ENDIF}

这样,当我要编译完整版本的时候,只需修改Complier.inc文件中那行{$DEFINE Debug},把它注释掉就可以编译非调试版本了。

这样做还有一个好处,就是可以跨dpr工程文件使用。因为有时候写一个程序不是只写一个exe,那么有多个工程的时候,就必须每个工程调整Project Options -> Compiler -> Assertions,这样太麻烦了,也可能出现忘记或漏掉的设置。再者,使用编译指令,还可以进行更多控制,不仅仅在断言上。所以我一般偏向于这样使用。  
原文地址:https://www.cnblogs.com/ZhouXiHong/p/529971.html