掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Loopさせるとチェックボックスが... (ID:123373)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> GGXX 2005/07/10(日) 13:03:37 > 返信ありがとうございました。 > > ない。 はじめてです > よくわからないのですが、CPUに負担をかけるとほかのイベントが実行できなくなるから、DoEventsをつかって制御を渡す。だと思ってます 少し(見方によっては全く)違いますが、イベントを処理するという点ではそんな感じです。 逆に言えば、DoEventsを行うことにより「発生させたくないイベント」も処理されてしまうということです。 > DoEventsはループの初めに入れてあります。 ループの初め(≠始め)というと、 [e1]ループ直前に一回ということですか? →"DoEvents:Do:Loop"見たいな。 →この場合、ループ中はイベントは処理されません。VB6なら、ユーザ側から見るとビジー状態に見えます。 [e2]それとも、ループ中に一回ということですか? →"Do:DoEvents:Loop" →この場合、ループ中でもイベントを処理しますが、CPUを使いまくりです。その上、発生させたくないイベントも処理されます。 > 一応 Whileを使ってLoopから出れるようにしてあるんですが、そのチェックボックスだけ動いてくれません。 「動く」とは、何を期待しているのでしょうか? ・チェックボックスにチェックが入る →[e1]の場合、イベントは処理されませんので、チェックボックスの処理もされません。 →[e2]の場合、イベントは処理されますが、「チェックボックスのイベントの処理」に「チェックボックスのイベントの処理」がされますので、 内部では、再帰呼び出し(の様)になります。 最悪、スタックオーバーフローが発生するかもしれません。 > Timerは使いたくないです。スレッドもわかりませんし... なぜTimerを使いたくないのですか? また、(.NETなら)スレッドを検討したほうがいいかもしれませんよ?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.