ShankarJ said " Anyway, the reason for a Assertion Error is because you have compiled in Full Debug Mode. In release mode, the Assertion errors will not be displayed"
This is _largely_ true, it will work in ANY level of debug mode, and can ALSO have ASSERT()'s displayed when the pragma asserts=>on is set.
Note: even when ASSERTS are not being displayed the code in them is still executing, hence:
ASSERT( LogicalFunction(), StringFunction() )
Will in fact run both of those procedures even if the ASSERT is not displayed.
Also note that you can hook asserts see ASSERTHOOK and ASSERTHOOK2 these are the procedures that are called when you have compiled in debug or with asserts=>on AND the logical expression is FALSE.
Also that pragmas ARE CASE SENSITIVE, so do NOT use ASSERTS=>on or Asserts=>on you MUST use asserts=>on to get the change in behaviour.
Further note (if I recall correctly) that asserts=>on works in C50 and greater even through it was not documented until later.
-- Mark Goldberg