Imports CaoRCW = ORiN2.interop.cao

Public Class Form1

    ' 各Caoオブジェクトの生成
    Private caoEng As CaoRCW.CaoEngine
    Private caoWS As CaoRCW.CaoWorkspace
    Private caoCtrl As CaoRCW.CaoController
    Private caoVar As CaoRCW.CaoVariable

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        caoEng = New CaoRCW.CaoEngine
        caoWS = caoEng.Workspaces.Item(0)

    End Sub

    Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

        caoWS = Nothing
        caoEng = Nothing

    End Sub

    ' Connect / Disconnect
    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged

        If CheckBox1.Checked Then

            ' CaoControllerの生成 
            caoCtrl = caoWS.AddController("test", "CaoProv.DENSO.NetwoRC", "", TextBox3.Text)

            ' CaoVariableの生成
            caoVar = caoCtrl.AddVariable(TextBox1.Text)

        Else

            ' CaoVarの解放
            caoCtrl.Variables.Remove(caoVar.Index)
            caoVar = Nothing

            ' CaoCtrlの解放
            caoWS.Controllers.Remove(caoCtrl.Index)
            caoCtrl = Nothing

        End If

    End Sub

    ' Get
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        TextBox2.Text = caoVar.Value

    End Sub

    ' Put
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        caoVar.Value = TextBox2.Text

    End Sub

End Class