0

以下の 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
4

0 に答える 0