問題タブ [dispatchertimer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - WPFをフリーズするディスパッチャタイマー
ARドローン(クワッドローターUAV)用の3 DOF制御アプリケーションを設計しています..複数のPIDコントローラーを使用してUAVを制御しています..これらのコントローラーは、ディスパッチャータイマークラスを使用して実装されています..たとえば、プログラムの開始時に私はディスパッチャータイマーを次のように初期化します:
ユーザーがGUIのボタンを押すとすぐに、このタイマーが起動します。
timer_yaw_tickで私は少し処理をします:
現在、私のアプリケーションでは、これらのタイマーのうち約7つが実行されており、さまざまな時間間隔でトリガーされます。...(タイマーの継続時間は、ほとんどすべてのタイマーのミリ秒単位です)
私が直面している問題は、コードが正常に実行されることもありますが、アプリケーションが完全にフリーズすることもあります。つまり、まったく応答がありません。仕事のためのタイマー???
助けていただければ幸いです。Thnx
c# - DispacherTimer を停止できません
私はwpfでいくつかのコードを書いています.カーソルが数秒間静止するとクリックを実行するマウスがあります..私が作成した新しいwpfウィンドウを開くとクリックを止めたいです...しかし、それはほとんどすべてを試してもdispachersが止まらない...何か方法はありますか??
新しいフォームが開かれたときに bool Form1opened=true にしますが、ifに入ってもディスパッチャーが止まりません... よろしくお願いします..
c# - 非同期対応のDispatcherTimerラッパー/サブクラス
DispatcherTimer
サーバーからシステムステータスを更新するために30秒ごとに起動するコードを実行しています。サーバーコードをデバッグしている場合でも、クライアントでタイマーが起動するため、5分間デバッグしていると、クライアントで12回のタイムアウトが発生する可能性があります。async
最終的に私はこれを修正する必要があると判断したので、より/await
フレンドリーなDispatcherTimerを作成しようとしています。
- で実行されているコード
DispatcherTimer
は、再入可能であるかどうかに関係なく構成可能である必要があります(つまり、タスクがすでに実行されている場合は、再度実行しようとしないでください)。 - タスクベースである必要があります(これで実際にタスクを公開する必要があるかどうかにかかわらず、ルートは灰色の領域です)
- 非同期コードと
await
実行するタスクを実行できる必要があります - DispatcherTimerをラップするか拡張するかはおそらく実際には問題ではありませんが、使用方法がわからない場合は、ラップすることで少しあいまいさが少なくなる可能性があります。
IsRunning
UIのバインド可能なプロパティを公開する可能性があります
.net - VB.NETを使用してディスパッチャータイマー+ストップウォッチを使用して実行中に誤ったタイミングを取得する
ここでは、時間変数を 0 に初期化し、StopWatch
ミリ秒をカウントしDispatcherTimer
て UI を更新するために使用します
問題は、すべての変数の最初のインスタンスが、予想される実際の時間の 1/2 の時間で増加することです。
例: seconds.text は 500 ミリ秒で 1 に更新され、次は 1000 ミリ秒後に更新されます。
同様に、Minutes.text は 30 秒後に 1 に更新され、その後は通常どおり 60 秒後にインクリメントされます。
時間と日と同じですが、それ以降は最初のインスタンスのみで、通常の間隔の後に増加します
では、論理エラーを見つけるのを手伝ってくれる人はいますか?
プロセスを逆にして時間をカウントダウンするにはどうすればよいですか?
私が実装できるアイデア/ロジックを手伝ってもらえますか?
.net - カウントダウンが機能しない (Stopwatch クラス + Dispatchertimer を使用)
時、分、秒を開始します
そして、それを合計ミリ秒に変換します。
そして、私がやっていることは、Elapsed MilliSeconds から Total MilliSeconds を差し引くことです
すなわちelms = cms - e.Milliseconds
(評価されたミリ秒 = 計算されたミリ秒 - Stopwatch.elapsedMilliseconds)
次に、評価されたミリ秒を HH:MM:SS:MS 形式に変換します。
しかし、何らかの論理エラーが原因で機能していません。そのため、支援が必要です。少し助けてくださいここに私のコードがあります:
c# - c# ディスパッチャ タイマーと System.TImers.Timer の起動が早すぎる
msdn で、タイマーは正確な間隔 (私の場合は 1 秒) で起動することを保証できませんが、間隔の前に起動しないことを読みました。
一方の PC のタイマーは正常に動作しており (Windows 7)、もう一方の PC (Windows Server 2003) は0.99999936 seconds
.
なぜこのようなことが起こっているのか、私は非常に興味があります。
newSeconds = newSeconds + delta.Seconds
これに気づいたのは、 Where isまでの秒数を数えるコードdelta
があったからですDateTime.Now - lastTime
秒の部分は1
、Windows 7 および0
Windows Server 2003 で表示されていました。
解決策は を読むだけでしたtotalseconds
が、それでもなぜ以前に発砲しているのか疑問に思います。
誰でもこれについて詳しく説明できますか?
編集
私は実際に2つの異なるWindows 2003 PCでそれが起こっています。私の疑問は、OS 間に違いがあるのか、7 と 2003 で .net フレームワーク 4 が異なるのか、さらに深く掘り下げますか? または、人々が知っている可能性のある他の逸脱はありますか? タイマーはどのように実装されていますか? ハードウェア関連の問題でしょうか?
そして、これとは 対照的に、インターバル時間の前に C# タイマーが起動します 。ティックごとに常に発生しています。長時間運転する必要はありません。ありがとう
編集
c# - Dispatcher タイマー イベント ハンドラから返された値を取得しますか?
呼び出し位置でイベント ハンドラーから返された値を取得するにはどうすればよいですか?? 私がやりたいことは、このようなものです
vb.net - X 秒後にイベントをトリガーする
私はWindows Phone用のアプリを開発しています。私の質問は、2 秒後にイベントをトリガーするにはどうすればよいですか?
これを開発する際の言語として Visual Basic を使用しています。どんな助けでも大歓迎です。
c# - Dispatchertimer.Tick イベントで追加の引数を送信します
私の質問は、Dispatchertimer.Tick イベントでいくつかの引数を送信する方法です。コードは次のとおりです。私が望んでいたのは、dispatcheTimer_Tick で整数値を受け取ることです。
私がやりたかったことは、このようなものです
呼び出しポイントから値を送信する方法??