tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルグローバル変数
記事No2229
投稿日: 2005/09/22(Thu) 15:52
投稿者ゆず
[OSのVer]:Windows XP   [VBのVer]:VB.NET 2003

はじめまして、今回教えていただきたいことがありまして、
書き込みいたしました。

グローバル変数を使用して
別プロジェクトに存在するフォームより値を渡したいのですが
どうすればよいでしょうか。

以前VBAで処理をしていたときは、
  
'グロバール変数
    Public G_NO As Integer

と宣言していたのですが,.NETでは出来ないようで戸惑っています。
宜しくお願いいたします。

[ツリー表示へ]
タイトルRe: グローバル変数
記事No2232
投稿日: 2005/09/22(Thu) 16:12
投稿者なおこ(・∀・)
お世話になります。

とりあえずは、
その"別プロジェクト"(Aとします)の参照設定に
お話の変数を持っているプロジェクト(Bとします)を追加してやる必要がありますね。

で、A.FormにアクセスレベルがPublicなプロパティを作って
BのFormの中で、
Dim f As A.Form = New A.Form
f.プロパティ名 = 値

のような感じでしょうか。

> [OSのVer]:Windows XP   [VBのVer]:VB.NET 2003
>
> はじめまして、今回教えていただきたいことがありまして、
> 書き込みいたしました。
>
> グローバル変数を使用して
> 別プロジェクトに存在するフォームより値を渡したいのですが
> どうすればよいでしょうか。
>
> 以前VBAで処理をしていたときは、
>  
>  'グロバール変数
>     Public G_NO As Integer
>
> と宣言していたのですが,.NETでは出来ないようで戸惑っています。
> 宜しくお願いいたします。

[ツリー表示へ]
タイトルRe^2: グローバル変数
記事No2246
投稿日: 2005/09/23(Fri) 12:35
投稿者じゃんぬねっと
参照先http://jeanne.wankuma.com/
こんにちは、じゃんぬ です。
蛇足です。

本当の意味でのグローバル変数というものは、.NET の概念にはないです。
いや、オブジェクト指向に反していますから、あって欲しくないものです。

しかし、VB.NET では互換のために「モジュール」と呼ばれるものがあります。
これは、VB6 以前の「標準モジュール」と同じです。

本来ならば、.NET 的には「クラス」に静的メンバを並べて実現します。
要するに、「クラス名.メンバ名」という形でならどこからでもアクセスできるわけです。
これは「パブリックな静的変数」と呼ばれます。

「グローバル変数」と違う点は、クラス名を指定しなくてはならないことです。
グローバル変数は、モジュール名の指定は "必須" ではないです。

VB6 でもこれは同じでしたが、静的クラスという概念がないため、
私は、モジュール名をつけるのを推奨しています。(静的クラス変わりです)
hhttp://jeanne.wankuma.com/tips/rule/02-vb6oop.html

ちなみに、C# で VB の「モジュール」のようなクラスを作る場合は、
クラスに対して、StandardModule 属性を付与することで可能です。
いや、やらないで欲しいですけどね。(^-^*)

[ツリー表示へ]
タイトルRe^3: グローバル変数
記事No2254
投稿日: 2005/09/26(Mon) 09:49
投稿者大輔
お返事が遅くなり、申し訳ございませんでした。
祝日中パソコンを開いていなかったもので・・・。

・・・グローバル変数という概念はないのですね・・・・勉強になりました。。。
.NETに入る前にVBAをやっていたものですから、同じように考えてしまっていました。
きちんと勉強しないとだめですね・・・。

お二方とも勉強になりました!!
ありがとうございました。

また、解決いたしました!
ありがとうございました。

[ツリー表示へ]
タイトル関係ないですけど (Re: グローバル変数)
記事No2257
投稿日: 2005/09/26(Mon) 10:07
投稿者じゃんぬねっと
参照先http://jeanne.wankuma.com/
関係ないですけど、何故にむやみに「ハンドル」を変えられるんでしょう?
マナー以前に「モラル」の問題だと思います。

ここも。
hhttp://www.bcap.co.jp/hanafusa/bbs/wforum.cgi?mode=allread&no=2224&page=0

あ、こっちで指摘されてましたか。(読んでなかった)
hhttp://www.bcap.co.jp/hanafusa/bbs/wforum.cgi?mode=allread&no=2251&page=0

[ツリー表示へ]