Stdクラス StopFlagプロパティ
アドインプログラムをユーザーのボタン操作により停止させる手段として用意されています。
実行ボタンでStopFlagがFalseにセットされ、アドインプログラムがコールされます。停止ボタンを押すとStopFlagがTrueにセットされますのでアドインプログラム内で条件分岐により停止させて下さい。
この仕組みを記述しないまま無限ループを作成した場合は停止する術が無く、タスクマネージャー等でサイトロジーをKillするしかなくなります。
使用法
Dim instance As Std = New Std()
Dim returnValue As Boolean
returnValue = instance.StopFlag
使用例
'Stdクラス プロパティ StopFlag
Imports System.Windows.Forms
Public Class AddIn
Private std As Std
Public Sub New()
std = New Std()
End Sub
Public Sub AddIn_Start()
Dim num As Integer = 0
Do While True
If std.StopFlag Then Exit Do
MessageBox.Show(num.ToString())
System.Threading.Thread.Sleep(2000)
Application.DoEvents
num += 1
Loop
MessageBox.Show("停止しました")
End Sub
End Class
使用例
System.Threading.Thread.Sleepではなく、StdFuncクラスのWaitMilliSecメソッドを使用する事でより安全にご使用いただけます。
'Stdクラス プロパティ StopFlag
Imports System.Windows.Forms
Public Class AddIn
Private std As Std
Private stdf As StdFunc
Public Sub New()
std = New Std()
stdf = New StdFunc()
End Sub
Public Sub AddIn_Start()
Dim num As Integer = 0
Do While True
If std.StopFlag Then Exit Do
MessageBox.Show(num.ToString())
stdf.WaitMilliSec(1000)
num += 1
Loop
MessageBox.Show("停止しました")
End Sub
End Class