2019/12/17訂正コメントで指摘されているとおり、インライン関数として定義することで、デバッグビルドのときだけログ出力が実現できるとのことです。プロシージャと関数の呼び出し)残念ですがDelphi7はインライン関数をサポートしていないので、それ以前のバージョンで頑張っている方は諦めましょう。DEBUG}OutputDebugString('Hoge');{$ENDIF}な事をすると思う。IFDEFやENDIFが仰々しくてなんか嫌。「関数化すればいいじゃない」ということで、コードとしてはこんな感じか。OutputDebugOnlyString('Uge');end;けどこの関数、ログ出力の有無にかかわらず、引数は評価されて渡されてしまう。end;end.ポイントは、ログ出力をAssert手続きでくくり、コンパイラ指令($C)でログ出力の有無を切り替えるという残念な方法。ここでは、説明のためコードで直接コンパイラ指令を指定してますが、通常はプロジェクトオプションで。リリース版では、ログ出力のコードすら生成されなくなって心の平穏を取り戻しましたとさ。XE5にて行ったのですが、なーぜーかリリースビルドであるにもかかわらず、Assertの生成がONになってた。リリースビルドではAssertのコードを生成しないのが一般的だと思ってたので、ちょっと驚いた。upLoginユーザーは見つかりませんでした。