2016-11-30 8 views
0

複数のプロジェクトが連携している私のvb.netアプリケーションで。私はグローバル変数としてflagを使用していますが、これはアプリケーション全体でアクセス可能ですが問題があります。別のモジュールにvariableという名前の別のフラグがあり、フラグ値に別のフラグを割り当てたいとします。Vb.netのクラスレベルの変数からグローバル変数の値を設定する方法

プロジェクト1

Module Abc 
    Public flag as String = "Hello" 
End Module 

、別のフラグ変数は、別のプロジェクトです。

プロジェクト2

Module Pqr 
    Public flag1 as String = flag 
End Module 

しかし、それは、その保護レベルに

ABCが宣言されていないというエラーまたはアクセスできないを与えています。

+0

:** 1)**プロセス間通信経由** 2)**ハードドライブ上のファイルとして値を保存し、または** 3)** [**メモリマップファイル**](http://msdn.microsoft.com/en-us/library/dd997372.aspx)を使用することにより(オプション2と同様)。 –

+0

[** .NET 4でメモリマップファイルを使用する**](https://blogs.msdn.microsoft.com/salvapatuel/2009/06/08/working-with-memory-mapped-files-in-net) -4 /)。 –

+0

しかし、私は値を保存するためにファイルを使用し、再度フラグの値が変更された場合、以前の値を取るでしょう。 – Pirate

答えて

0

それは正しいです、エラー、これを試してみてください。

PUBLIC Module Abc 
    Public flag as String = "Hello" 
End Module 
+0

これはどのように関連していますか?彼は別のプロジェクト/異なる実行可能ファイル(さまざまな方法で可能です)から変数にアクセスしたいのですが、これはローカル変数を設定するだけで、他のプロジェクトには関連しません。 –

+0

@VisualVincent私は、askerが参照されている別のプロジェクトから変数にアクセスする必要があると仮定しています。私はあなたがさらに行くと思う – Caveman

+0

それは私が質問を解釈する方法ではないが、おそらくあなたは正しい。今まで私がそれを読んだり再読んだりするたびに、それはいつも同じように感じました。彼は明示的にも明示していませんが、簡単に見つけ出すことができます。 –

0

私はあなたが二番目に最初のプロジェクトを参照する必要があると思う: その上で右クリックして、参照を追加し、ソリューション]タブを選択

最初のプロジェクト:穴居人が述べたように最初のプロジェクトは、次のようにあなたのコードのインポートでは、その後、最初のプロジェクトの名前空間を、あなたのモジュールを公開する

Namespace Test 
    Public Module Abc 
     Public flag as String = "Hello" 
    End Module 
End Namespace 

第二プロジェクト:私の知る限り、これは3つのシナリオでのみ可能である知っているように

Imports WindowsApplication1.Test 
    Public Module Pqr 
     Public flag1 as String = flag 
    End Module 
関連する問題