tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル#Ifの宣言について
記事No6737
投稿日: 2007/12/27(Thu) 14:29
投稿者ゆうや
こんにちは。わからないことがあるので投稿してみました。

WinXP で VB2005 ExpressEditionを使っています。
今回初めて使うのでわからないことだらけです。。。


以前はVB6を使っていました。
VB6ですと、「条件付きコンパイル引数」というところで「TEST=1」宣言すると、
プログラム上で
#If TEST Then
・・・
#Endif
の中を実行できました。

VB2005 Exp.Edition でも同じようにしたいと思ったのですが、どこで宣言すれば
よいのかわかりません。
#Const宣言でもできるようですが、できれば#Constは使いたくないと思っています。

プロジェクトのプロパティで「デバッグ」タブ内の「コマンドライン引数」部分に
「/d:TEST=1」とやっても有効になりません。。。


どなたかご存知の方、教えてください。よろしくお願いします。

[ツリー表示へ]
タイトルRe: #Ifの宣言について
記事No6738
投稿日: 2007/12/27(Thu) 15:00
投稿者大吉末吉
> WinXP で VB2005 ExpressEditionを使っています。
> VB2005 Exp.Edition でも同じようにしたいと思ったのですが、どこで宣言すれば
> よいのかわかりません。

「コンパイル」の「詳細コンパイルオプション」で指定します。
http://msdn2.microsoft.com/ja-jp/library/07bysfz2(vs.80).aspx)

ひょっとして、Express版にはこの機能は無いとか・・・

[ツリー表示へ]
タイトルRe^2: #Ifの宣言について
記事No6742
投稿日: 2007/12/27(Thu) 19:41
投稿者ゆうや
大吉末吉 さん>
早速のコメントありがとうございました。

Express版にはないのでしょうかねー。んー厳しい・・


#Constというのがあるみたいですが、ヘルプには
「#Const ディレクティブを使ってパブリックなコンパイル定数を
作成することはできません。」
と書いてあるので、使い難いです・・・

もう少し私のほうでも調べてみます。
どうもありがとうございました。

[ツリー表示へ]
タイトルRe^3: #Ifの宣言について
記事No6794
投稿日: 2008/01/11(Fri) 11:38
投稿者ゆうや
結局、コンパイルオプションはなく、#Constもプライベートであることから
#If を使うことを断念しました。。

コンパイルオプションのようにパブリック仕様にしたかったので、モジュール内に、
Public Const __APP_COMPILE_SWITCH__AMODE__ As Short = 1
Public Const __APP_COMPILE_SWITCH__BMODE__ As Short = 0

などと、コンパイルスイッチもどきの定数を宣言しておいて、
プログラム内の参照する場所で
If  __APP_COMPILE_SWITCH__AMODE__  Then
・・・・
End If

というふうに、通常の条件文にすることで対処することにしました。

コンパイルスイッチなのか、条件文なのかがわかりづらくなってしまうのが難点ですが。。

みなさん、どうもありがとうございました。

[ツリー表示へ]
タイトルRe^3: #Ifの宣言について
記事No6797
投稿日: 2008/01/11(Fri) 11:51
投稿者y4yama
> Express版にはないのでしょうかねー。んー厳しい・・
VB2005 ExpressEditionにはないでしたが
VB2008 ExpressEditionでは、ありました。#IF 〜 がうまく出来ましたヨ

今までコンパイルオプションとか使ったことがなかったので
参考になりました。感謝!です

[ツリー表示へ]
タイトルRe^4: #Ifの宣言について
記事No6803
投稿日: 2008/01/11(Fri) 16:13
投稿者ゆうや
y4yama さん>

コメントありがとうございました。
なんと、2008にはあるんですかー!くぅ〜!!

2005は機能入れ忘れ?


ただ、2008は2005よりまたさらに動作が重いとの情報もありますので、
どうしようぅ・・と悩んでいます。

でも、情報をいただきましてありがとうございました。

[ツリー表示へ]