C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: グローバルな変数の値をクラスの中で見れる様にするには


(過去ログ 61 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■34834 / inTopicNo.1)  グローバルな変数の値をクラスの中で見れる様にするには
  
□投稿者/ DX7 (1回)-(2009/04/10(Fri) 23:14:35)

分類:[.NET 全般] 

環境:VB2005 FrameWork2.0

グローバルな変数の値をクラスの中で見れる様にするにはどのようにしたら良いのでしょうか。


モジュールに

Public gMsgBoxOnOff as Integer

と定義してForm_Loadで

gMsgBoxOnOff = 1 'メッセージ表示

をセットしてもクラスの中で見るとgMsgBoxOnOff = 0に戻ってしまいます。
Shared(共有?)などを使ってみましたが値保持を思った様にできませんでした。


Public Class Class1

'---メッセージ出力メゾット(メッセージボックス表示 or ログファイルにメッセージ出力)----
Public Function PF_MsgBox()

if( gMsgBoxOnOff = 1 )Then
MessageBox.show("あああああ")
Else
xxx_logfile("あああああ") 'ログを出力するクラス
End if

End Function

End Class

やりたいことは
Form_Loadでarg(command引数)でメッセージをMsgBoxに出力するか、Logファイルに出力
するかを指定したいのです。

gMsgBoxOnOffのプロパティーを作ってPF_MsgBoxをCallするメゾットで
セットするのはわかるのですが、
変数の値をクラスからグローバルに見る方法は何かあるのでしょうか。

よろしくお願いいたします。

引用返信 編集キー/
■34836 / inTopicNo.2)  Re[1]: グローバルな変数の値をクラスの中で見れる様にするには
□投稿者/ 太郎冠者 (15回)-(2009/04/11(Sat) 00:57:42)
> Public gMsgBoxOnOff as Integer
>
> と定義してForm_Loadで
>
> gMsgBoxOnOff = 1 'メッセージ表示
>
> をセットしてもクラスの中で見るとgMsgBoxOnOff = 0に戻ってしまいます。
> Shared(共有?)などを使ってみましたが値保持を思った様にできませんでした。

どっかで0をセットしてるか、実はgMsgBoxOnOff = 1 を通っていないとか。
何にせよ、ステップ実行してgMsgBoxOnOffの中身を逐次確認するのが、一番てっとり早いと思います。

それと「メゾット」じゃなくて「メソッド(Method)」です。
引用返信 編集キー/
■34852 / inTopicNo.3)  Re[1]: グローバルな変数の値をクラスの中で見れる様にするには
□投稿者/ επιστημη (1876回)-(2009/04/12(Sun) 02:53:16)
επιστημη さんの Web サイト
> モジュールに
> Public gMsgBoxOnOff as Integer
> と定義してForm_Loadで
> gMsgBoxOnOff = 1 'メッセージ表示
>...
> Public Class Class1
>
> '---メッセージ出力メゾット(メッセージボックス表示 or ログファイルにメッセージ出力)----
> Public Function PF_MsgBox()
>
> if( gMsgBoxOnOff = 1 )Then
> MessageBox.show("あああああ")
> Else
> xxx_logfile("あああああ") 'ログを出力するクラス
> End if
>
> End Function
>
> End Class

なんでこんなヘンなことするんだろう。
グローバル変数なんてもんはなければないに越したことないのに。

Class1が Public Shared MsgBoxOnOff As Boolean を持つのがスナオじゃない?

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -