すみません。立て続けですが、教えてください。
public変数は、他人には、変更されないですよね。
例をだすと、完成したあと、数人の人がそのシステムを使ってるとします。
AクンがPublic変数fooを使っていたとします。同時にBクンもたまたま、Public変数fooをつかっていたとします。
上記の例の場合、AクンBクンとも個々にPublic変数fooが用意されるんですかね??
なんか、本を読んでいたらPublic変数は、「どのモジュールからもアクセスできる変数」と書いてあるとともに「他人に変更されたくなければ、Public宣言をしてはいけない」ようなことが書いてあります。多分、僕の読解力不足だと思うんですが。
使用言語はVBです。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
>本を読んでいたらPublic変数は、「どのモジュールからもアクセスできる変数」と書いてあるとともに「他人に変更されたくなければ、Public宣言をしてはいけない」ようなことが書いてあります。
これは、1つのプログラムを複数の人間で作る場合です。
例えば、画面Aと画面BからなるプログラムをXさんが画面Aを担当し、Yさんが画面Bを担当したとします。
この場合、画面Aのプログラム(モジュール)からも画面Bのプログラム(モジュール)からも、アクセスできるのが、Public変数fooです。この変数fooは、このアプリケーションプログラムでは唯1つです。従って、この変数fooはお互いに誰がどのように更新するかを、XさんとYさんとで、取り決めておく必要があります。ここでXさんが、Xさんだけが使用する変数hogeを使用したいときは、pubulic変数にしてはいけません。(Yさんからアクセスされるかも知れないので)
全く、別のアプロケーションプログラムでZさんがPublic変数fooを作成した場合、それは、たまたま、同じ名前の変数fooを使っているだけで、最初のプログラムとは全く関係ありません。従ってZさんがどのようにfooを変更しようが、最初のプログラムには、全く影響がありません。
どうもありがとうございます。
>これは、1つのプログラムを複数の人間で作る場合です
↑やはりそうなんですか。僕もひょっとしたらそうかな?とも思ったのですが、はっきりと分らなかったので。。
考えてみれば、VBはローカルコンピュータの中で実行されているので、他人がその値を変更することなど、不可能なことでした。。すみません。
今回は色々と勉強になりました。どうもありがとうございました。
No.1
- 回答日時:
おかしな見解です。
もともとプロジェクト内の変数は
そのプロジェクトから作成された実行モジュールが
実行されている間だけ有効になります。
ここで言う「他人」というのはどういうことでしょう。
1つのexeの実行中に「他人」は介在しないと思いますが。
それとも複数メンバでの開発中のことですか?
どうもありがとうございます。
本を読んでるのですが、ちんぷんかんぷんで混乱してしまいました。
>ここで言う「他人」というのはどういうことでしょう。
>1つのexeの実行中に「他人」は介在しないと思いますが。
例えば、データベースに接続するプログラムでコネクションオブジェクトのPublic変数であるCnを作成したとします。
で、プログラムが完成してユーザの方々が使っている時にCnという1つだけの変数に皆がアクセスできたら、Cnの中のプロパティとかが変わってしまうのかな?と思ったのですが、#2様のご回答を見る限りそのようなことはないような気がします。
すみません。分りにくい質問でした。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロについて教えてください。 4 2023/06/06 09:06
- Visual Basic(VBA) マクロについて教えてください。 1 2023/06/06 00:57
- Visual Basic(VBA) VBA リボンののリカバリーでオーバーフローエラーになります 2 2023/07/04 19:07
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Visual Basic(VBA) vba Sleep関数について教えてください 1 2023/01/18 10:18
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Java Java 配列<選挙> 4 2023/07/31 15:07
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで4096点以上のFFTの方法
-
VBAにてメール作成した際、一部...
-
あるプログラムのコマンドライ...
-
Excelに埋め込んだVBAのプログ...
-
ドロップダウンリストの文字を...
-
モジュール、アプリケーション...
-
Vba 実数および実数タイプの変...
-
COBOLでBLOCK CONTAINS句につい...
-
C言語でのaccess violationに...
-
読み込み中にアクセス違反が発...
-
仮想ベクタテーブルについて
-
ニュートン法で解が収束しない
-
XnViewにwebpを「いつも開く」...
-
エクセルとワードをデスクトッ...
-
AutoCADを用いて板金展開図を自...
-
VBAでユーザーフォームが自動的...
-
VC++コンソールアプリでウイン...
-
テキストファイルを間違えて保...
-
自動クエリとはどういうもので...
-
FORTRANの絶対値についてです。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
Vba 実数および実数タイプの変...
-
インクリメント演算子のみを用...
-
スポーツ施設での出来事で心配...
-
VBAにてメール作成した際、一部...
-
VBAでユーザーフォームが自動的...
-
Excelに埋め込んだVBAのプログ...
-
Notepad++の関数リスト表示でC...
-
PICマイコンのコピー(クローン...
-
「Outlookが他のプログラムによ...
-
読み込み中にアクセス違反が発...
-
未使用の変数を一括検索する方法
-
自動クエリとはどういうもので...
-
エクセルとワードをデスクトッ...
-
binファイルってiphone専用です...
-
ドロップダウンリストの文字を...
-
UWSCで指定のフォルダを開きたい。
-
モジュール、アプリケーション...
-
パックマンプログラム
おすすめ情報