初投稿させて頂きますAikisu(アイキス)と申します。
私はVB5.0(古くて御免なさい)でプログラムしてます。
Public Functionについての質問です。
Function1を実行中にタイマーコントロールを実行(タイマーをセット)し、そこで更に別のFunction2を呼び出し、Function1を終了させたいと思っています。
フラグを立てる等試して見ましたが、あまりにもフラグチェックが多すぎる為、
管理しきれなくなってしまいました。。。。
もっとスマートに終了させることは出来るのでしょうか・・・?
よろしくお願い致します。
Public Function g_Function1() As Integer
(処理)
Timer1.Enabled = True
Call g_Function2
End Function
Public Function g_Function2() As Integer
(処理)
End Function
という風になっているのでしょうか?
まず、ロジックというものは基本的に上から下に流れるものなので
呼び出し側の関数を別関数から終了させるということはできません。
(できないはずです・・・。不勉強でしたらすいません)
関数を呼び出すということは必ず呼び出し側に処理が戻ってくるものです。
Function1 の Function2 呼び出しの後に処理が無ければ
わざわざ処理を終わらせるということを考えなくても
最後に Function1 に処理が戻って終了ということになると思うのですが
それでは駄目なのでしょうか?
Exit Function を使うにしても終わらせたい関数内に書かなければ
なりません。
どういう処理を実現したいのか詳しく書いて頂ければ
もっと的確な解答が得られると思います。
追記:
Functionプロシージャを使うということは
なにか戻り値が必要なのでしょうか?
戻り値が必要ないのであれば Subプロシージャを使うべきです。
t@Ki様ご返答ありがとう御座います。
Functionに限定する必要が無いこと判明しました。。。(Subは使ったこと無いですが。。。。)もう一度ヘルプとにらめっこしてみます
また、常にループしつづける構造の為、DoEventsの場所を限定しフラグチェックもかなり減らすことが出来ました。
まだまだ半人(四分の一人?)前ですが、今後ともご指導ご教授頂きたいと思います。
失礼いたします。
ツイート | ![]() |