#ifdef DEBUG

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
Ko

#ifdef DEBUG

#1 投稿記事 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"が表示されました。
リリースコンパイルでも無視されていないようなのですが・・・
マティ
記事: 161
登録日時: 2005年8月23日(火) 00:15
お住まい: 沖縄県
連絡する:

#2 投稿記事 by マティ »

適当なコードで

コード: 全て選択

#define debug
#ifdef debug
    MsgBox 0, "mmm"
#endif
#define文をコメントアウトするとダイアログを出さないのでOKだと思います。
山本
Site Admin
記事: 535
登録日時: 2005年5月30日(月) 15:08
連絡する:

#3 投稿記事 by 山本 »

DEBUGを自動でコンパイラ側が#defineするのはあったほうがいい機能ですね。次回のバージョンアップで改良してみます。
Ko

#4 投稿記事 by Ko »

山本さん、マティさん、早速のご回答ありがとうございます。
当面は #define のコメントアウトで対応していきます。
山本さん、改良よろしくお願いします。
返信する