
VB6ではイベント制御のため、共通モジュールに大域変数を
Public gFlag As Integer
のように記述していました。
最近になってVB.Netをはじめましたが、この大域変数がうまく動いてくれません。
とりあえずVB6の共通モジュールはクラスを追加して行うとあり、
クラスを追加して、そこで上記のようにPublicで宣言しました。
ところがFormのコードで使うと宣言されていませんと出ます。
そこで色々と調べてPublicは外部に公開されるメンバ??らしい
ということは分かったのですが、クラス自体さっぱりです。
とりあえずクラスのお勉強は後回しにするとして、
大域変数はどのようにすれば使えるようになるのか教えて下さい。
No.1ベストアンサー
- 回答日時:
クラスではなくモジュールをプロジェクトに追加してください。
そこに pUblic 変数として定義すれば クラスではなくメインプログラムが終了するまで値は保存されます。
クラスは自分の処理が終わり解放されてしまうので当然PUBLICと宣言してもメモリーには保存されません。 だからクラスにpUblic 変数 を定義しても無意味です。
「スコープ 変数」 とか 「VB.net 標準モジュール 変数」などでGoogle で検索してみてください。
同じ質問 http://okwave.jp/qa1200905.html
があります。
ただし、スパゲッティプログラムの原因になりかねないのでできうる限りクラスに定義した変数で情報をやり取りできるように工夫してください。 変数は使いまわすようなことはなるべき避けるべきです。
バグの原因になります。
素早い回答ありがとうございます。
なるほどモジュールというのはそうやって使う物ですか。
実はその前に散々モジュールというものをつつき回したんですが、
共通サブルーチンは1個しか置けないし何だろう??と思っていました。
大域変数を置く場所と考えれば良かったのですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) マクロについて教えてください。 4 2023/06/06 09:06
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- Visual Basic(VBA) マクロについて教えてください。 1 2023/06/06 00:57
- Excel(エクセル) Excel マクロで For 文のインデックスを先に宣言する理由 7 2022/08/27 00:26
- 学校 中2女子不登校です。中2の5月辺りからクラス替えの変化で1年の頃からのストレスによる頭痛が悪化し、体 2 2022/03/23 17:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FriendとPublicの違い。。。
-
VBA チェックボックスをオーバ...
-
(UWSC) 「#32770」の意味わかり...
-
ダイアログ表示時にチェックボ...
-
メンバ変数のサイズの増加
-
C# 別プロジェクトのフォームを...
-
モーダレスなメッセージボック...
-
MRUの一時回避 VC++2008 MFC
-
MFC CSplitter内にコントロール...
-
不要になった、普通の構造体の処理
-
VC++でダイアログ表示について
-
リストコントロールをウィンド...
-
クラスのアドレスを引数として...
-
C++ protectedにアクセス不可
-
【C++】相互参照
-
このコンパイルエラーの意味に...
-
【ASP.NET】 独自で作成したク...
-
イベントにAddHandlerされてい...
-
WindowsAPIのリストビューの...
-
MFCアプリのコマンドラインでパ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA チェックボックスをオーバ...
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
イベントにAddHandlerされてい...
-
(UWSC) 「#32770」の意味わかり...
-
ボタンのオーナードローについて
-
MFCアプリのコマンドラインでパ...
-
ダイアログ表示時にチェックボ...
-
【ASP.NET】 独自で作成したク...
-
エディットコントロールでEnter...
-
MFCのドラッグ&ドロップについて
-
オーバーライド関数の呼び出し...
-
DataGridViewのセルに斜線を引...
-
MFCのCListCtrlでスクロールを検出
-
C++ protectedにアクセス不可
-
ダイアログクラスのコントロー...
-
クラスのアドレスを引数として...
-
エディットコントロールのイベ...
-
個々の関数について継承してい...
-
WindowsAPIのリストビューの...
おすすめ情報