以下の COM インターフェイス タイプを使用して、モジュール レベルでグローバル変数を使用しています。
Imports System.IO
Imports simpackcomslvLib
Imports simpackcompostLib
Module Globals
Public Srv As SpckCOMApp
Public Mdl As IScrModel
Public Post As PostComApp
Public Res As PostComProject
End Module
別のクラスでは、一部の手順でオブジェクトの値が変更されます。たとえば、Mdl 値が変更されたときに、ツールの GUI にいくつかの変更を加えた手順をいくつか実行したいと思います。
整数型パラメーターを作成する以下のメソッドを試しましたが、私の場合は成功しませんでした。オブジェクトのせいだと思います(型は COM インターフェイスに属しています。
Public Class myVar
Private mValue As Integer
Public Event VariableChanged(ByVal mvalue As Integer)
Public Property Variable() As Integer
Get
Variable = mValue
End Get
Set(ByVal value As Integer)
mValue = value
RaiseEvent VariableChanged(mValue)
End Set
End Property
End Class
例での上記のコードの使用
Public Class Form1
Private WithEvents test As New myVar
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
test.Variable = CInt(TextBox1.Text)
End Sub
Private Sub VariableChanged(ByVal NewValue As Integer) Handles test.VariableChanged
MessageBox.Show(NewValue)
End Sub
End Class
モジュールレベルでの使用も間違っているような方法で、以下の変数をモジュールに実装する方法はありますか?クラスの下に移動する必要がありますか?
Module Globals
Public Srv As SpckCOMApp
Public Mdl As IScrModel
Public Post As PostComApp
Public Res As PostComProject
End Module