I need to activate the ReportMemoryLeaksOnShutdown
functionality to report the memory leaks of my application, but only under debug mode (when the Delphi IDE is
try using the DebugHook variable
ReportMemoryLeaksOnShutdown:=DebugHook<>0;
If you mean "debug mode" as compiled using the Debug build configuration (D2007+), you'll have the DEBUG symbol defined, so you can activate the ReportMemoryLeaksOnShutdown even when running oustide the debugger with:
{$IFDEF DEBUG}
ReportMemoryLeaksOnShutdown := True;
{$ENDIF}
If you want to run only if the debugger is present, look at RRUZ answer
I usually use the IsDebuggerPresent API function and also surround it with a DEBUG symbol check so the code doesn't end up in release builds:
{$IFDEF DEBUG}
ReportMemoryLeaksOnShutDown := IsDebuggerPresent();
{$ENDIF}
The function should already be declared in the Windows unit, if you're not using an ancient version of Delphi and works on Windows 2000 and newer.