在编译之前删除调试信息

如果不想在发布给用户的应用程序中包含调试信息语句,则在使用“制作 EXE 文件” 命令时,用条件编译来删除这些语句亦很方便。

例如:

Sub Assert(Expr As Boolean, Msg As String)
   If Not Expr Then
      MsgBox Msg
   End If
End Sub

Sub AProcedure(intX As Integer)
   # If fDebug Then
      Assert intX < 10000 and intX > 0, _
      "Argument out of range"
   # End If
      ' 代码现在可取正确的值。
End Sub

因为对 Assert 过程的调用是条件编译的,所以,如果把 fDebug 设置为 True,则只有 .exe 文件才包含这个调用。在编译应用程序的发行版本时,把 fDebug 设置为 False。这样 .exe 文件就会尽可能作到小、快、灵。

注意 自从发行 Visual Basic 5.0 版开始就不再有必要创建自己的 Assert 过程。Debug.Assert 语句完成相同的功能并可从被编译的代码中自行去掉。详细信息请参阅本章后面的“用断言检验代码”。