掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Javaのスレッドの様な動きをさせるには? (ID:87916)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
普通のEXEで強引に実装するならこんな感じかな。 タイマ割り込みで疑似タスクスイッチをします。 用意する物 ・タイマーコントロール Timer1 ・タイマイベント2重実行禁止フラグ TimerFlag ・処理状態管理変数 methodBusy As Boolean ・メソッドの内部状態を保持するレコード methodVarRec ・実際の処理の状況を表す変数 execStatus Public Function startRequest(適当な引数) As Integer If metohdBusy Then startRequest = 実行中なので実行拒否したことを示すエラーコード ElseIf 引数が不適切 Then startRequest = 引数が不適切なことを示すエラーコード Else methodBusy = True execStatus = 適当な初期値 metohdVarRecに引数の内容を格納 TimerFlag = False Timer1.InterVal = 適当な値 Timer1.Enabled = True startRequest = 実行開始したことを示す返り値 End If End Function Private Sub Timer1_Timer() If TimerFlag Then Exit Sub Timer1.Enabled=False TimerFlag = True call TaskMain If methodBusy Then 'まだやるべき事が残っているのでタイマーを再度有効にする。 TimerFlag = False Timer1.Enabled = True Else '処理終了 イベントを投げる 'タイマーは止めたままにする End If End Sub Private Sub TaskMain If methodBusy Then 'execStatusの値に応じた処理を行う。 '処理は最小限の処理時間で終えるようにし、続きに何をするべきかは 'execStatusにセットし、途中の状態はmetohdVarRecに保存する。 'やるべき事を全て終えたら methodBusy を Falseにする End If End Sub 呼び出し側では startRequestの後にイベントを拾うことが可能な状態にしておきます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.