Visual Basic 2005 クラスライブラリの使い方
異なるクラス間で共通の変数aを使いたいのですが、うまくいきません。あるクラスForm1でaを宣言しても他のクラスClass1でも宣言しないとエラーが出てしまいます。
以下のクラスをデバイスアプリケーションとして作成し、
Public Class Form1
Public a As Integer = 100
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Test As New MyLibrary.Class1
Test.Plus1()
MsgBox(a, MsgBoxStyle.Information, "実験")
End Sub
End Class
以下のクラスをクラスライブラリMyLibraryとして作成します。
Public Class Class1
Dim a As Integer = 0
Public Sub Plus1()
a += 1
End Sub
End Class
Form1でボタンを押すと、メッセージボックスに100と表示されます。
(関数Plus1の効果なし)
ちなみにClass1の「Dim a」を「Static a」にしてクラスライブラリ(DLL)を最初に呼び出したときだけ初期化すればよいと思ったのですが、そうすると「'Static' は、メンバ変数宣言では有効ではありません。」というエラーが出てしまいます。
解決方法をご存知の方、ご教授願います。
また、クラスライブラリ(DLL)を作成するとまとまりができてプログラムの変更がしやすいと思いますが、やはり処理速度が遅くなるなどの問題もあるのでしょうか?
お礼
inu2さん、ご回答ありがとうございます。 なるほど、言語によってクラスライブラリはまちまちにあるんですね。 ライブラリというのを目視的に見てみたかったのですが。。。 ちょっと書物やら何やらで改めて調べてみます。 どうもありがとうございました。