ページ 11

#ifdef DEBUG

Posted: 2005年11月15日(火) 21:50
by Ko
AB が ver4.11 となり、#ifdef が追加されて、早速 #ifdef DEBUG を使おうと
したのですが、DEBUG の定義が無いのか思い通りにコンパイルされません。
debug.sbp を見付けたので、その中で #define してもダメでした。
デバッグ作業を少しでも楽にするため、何かよい方法は無いでしょうか。

とここまで書いてふと思いついて、debug.sbpをいじってみました。↓

コード: 全て選択


'debug.sbp

'このファイル内のコードはデバッグ コンパイル時のみ有効です(リリース コンパイルでは無視されます)。
'Dim _DebugSys_dwThreadID[255] As DWord		- コンパイラが自動的に定義します
'Dim _DebugSys_lpdwObp[255] As DWord		- コンパイラが自動的に定義します
'Dim _DebugSys_lpdwEbp[255] As DWord		- コンパイラが自動的に定義します
'Dim _DebugSys_ProcNum[255] As DWord		- コンパイラが自動的に定義します

'#ifdef DEBUG 用	2005/11/18
#define DEBUG1
Sub mmm()
	MsgBox( hMainWnd, "mmm")
endsub
リリースコンパイルすると型チェックはでるものの正常にコンパイルされ、"mmm"が表示されました。
リリースコンパイルでも無視されていないようなのですが・・・

Posted: 2005年11月15日(火) 22:28
by マティ
適当なコードで

コード: 全て選択

#define debug
#ifdef debug
    MsgBox 0, "mmm"
#endif
#define文をコメントアウトするとダイアログを出さないのでOKだと思います。

Posted: 2005年11月16日(水) 01:35
by 山本
DEBUGを自動でコンパイラ側が#defineするのはあったほうがいい機能ですね。次回のバージョンアップで改良してみます。

Posted: 2005年11月16日(水) 20:48
by Ko
山本さん、マティさん、早速のご回答ありがとうございます。
当面は #define のコメントアウトで対応していきます。
山本さん、改良よろしくお願いします。