| 
    
     |  | まず、はっきりさせておくべき事は、今回提示のルーチンを どういう意図で前任者が作成したのかということで、
 前任者が居ない(連絡が取れない等)ので、その意図は、
 ルーチンから推測するしかないのです。
 
 で、私がルーチンから判断したのは、
 ・Executeについては、非同期で実行されていると前任者が判断し、
 ^^^^^^^^^^^^
 非同期でも確実に1ステップずつ終わらせるように組まないと、
 このルーチンは正常に終わらないと考えた。
 (作成した当時のマシンスペックや、ネットワーク処理速度、
 処理するデータ量の大きさ等で)
 
 # 前任者がどの資料をみて、どういう観点でそう判断したのかは
 # 私は推測しか出来ません。
 
 ・プログラム制御の場合、非同期だと、前述したように、Execute
 処理が重なり、正常な結果が返らないと判断したので、
 オペレーティングシステムに制御を渡し、1個のExecute処理が
 終わってプログラムに制御が戻り、次のExecute処理を実行する
 ようにするために、1個1個DoEventを入れた。
 
 # 重ねて言うけど、現在がどう、ではなく、まず「前任者の意図」を
 # 読取る必要があるという事。
 
 ただ、プログラム実行環境及び、プログラムを実行するユーザの
 意識が変わり、「現在の処理スピードではダメだ」と思い、
 今回の質問になった。
 
 で、実際にDoEventが必要なのかどうかについては、
 
 ・実際に「個々のExecute処理にかかる時間」を計測し、
 「全体を通しで実行した時の処理にかかる時間」と比較し、
 非同期処理による、個々の処理が重なるタイミングが発生して
 いるのかどうか?
 
 という点を調べるのが一番良い気がしますね。
 (個々の処理を計測する場合、個々の処理の間の時間が計測でき
 ないので、その辺りは計測修正値として考慮する必要が生じ
 ますが。)
 
 今思いついているのは、だいたいこんな所。
 
 # 私の意図は分かりますか?>小僧さん
 
 
 |  |