問題タブ [application-shutdown]

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.

0 投票する
4 に答える
1344 参照

android - 電話のバッテリーが切れると、アプリケーションで onDestroy が呼び出されますか?

電話のバッテリーが切れたときに onDestroy メソッドが呼び出されますか? そうではないと想像します。残念ながら、私は今これをテストする電話を持っていません。それ以外の場合は、自分で確認するだけです.

0 投票する
3 に答える
85 参照

c# - キャンセルされたログインフォームからアプリをきれいにショートサーキットし、ログインが成功したときにメインフォームを呼び出すにはどうすればよいですか?

Program.cs で次のコードを使用して、メイン フォームの前に表示されるログイン フォームがあります。

ユーザーが (ログインを試みるのではなく) [閉じる] ボタンを選択すると、ログイン フォームが閉じ、メイン フォームが表示されなくなり、アプリがシャットダウンされます。ユーザーが [OK] ボタンを選択すると、ログイン フォームが閉じ、メイン フォームが表示されます。

「閉じる」ボタンを選択すると、Gong Show 風の「クラッシュ」音でアプリがクラッシュします。ログ ファイルに次の例外メッセージがあります。

日付: 2009 年 4 月 9 日 8:57:51 PM メッセージ: frmLogin.buttonOK_Click に到達しました 日付: 2009 年 4 月 9 日 8:57:51 PM メッセージ: アプリケーション全体の例外ハンドラーから: System.NullReferenceException: NullReferenceException at NRBQ.frmLogin System.Windows.Forms.Button.OnClick(EventArgs e) で System.Windows.Forms.Control.OnClick(EventArgs e) で NRBQ.frmLogin.buttonOK_Click(オブジェクト送信者、EventArgs e) で .GetSiteNum()。 Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam) で System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam) で Microsoft.AGL.Forms.EVL.EnterModalDialog(IntPtr hwnModal) でNRBQ.Program.Main() の System.Windows.Forms.Form.ShowDialog()

ログインフォームの関連コードは次のとおりです。

注: 「OK」ボタンの DialogResult は「OK」に設定されています。「閉じる」ボタンの DialogResult は「キャンセル」に設定されています

Application.Exit() によってアプリがクラッシュするのはなぜですか? アプリを終了するためのより親切で穏やかな方法は何ですか?

また、[OK] ボタンを選択すると、その後メイン フォームが表示されないのはなぜですか? [OK] ボタンを選択しても (サニティ チェックに合格した場合)、ログイン フォーム閉じますが、それだけです... メイン フォームは表示されません。

アップデート

以下の回答に基づいてコードを修正したところ、キャンセルが正常に機能するようになりました (klang/crash なしでアプリを閉じます) が、ログイン フォームで [OK] ボタンを選択した後もメイン フォームが表示されません。ログインフォームコードでDialogResultをプログラムでOKに設定していますが。

以下の関連コード。

プログラム.CS

FRMLOGIN.CS

これは私のログファイルに表示されるものです:

日付: 2009 年 4 月 9 日 9:56:47 PM メッセージ: frmLogin.buttonOK_Click に到達しました 日付: 2009 年 4 月 9 日 9:56:48 PM メッセージ: アプリケーション全体の例外ハンドラーから: System.NullReferenceException: NullReferenceException at HHS.frmLogin .GetSiteNum() HHS.frmLogin.get_SiteNumber() で HHS.Program.Main()

マール・ハガードが歌ったように、「だから今戻ってきた、再びコードルームに...

更新 2

GetSiteNum() にメッセージ ボックスを追加しました。

...そして、私はそれを見ないので、爆発しています:

...このログイン フォームで [OK] ボタンを選択した直後。

0 投票する
1 に答える
86 参照

visual-studio-2010 - デバッガーによってシャットダウンされたときに Qt アプリケーションの終了をキャプチャする方法は?

Visual Studio 2010 を使用して Qt 4.8.4 で GUI アプリケーションを開発しています。アプリケーションを閉じる前にクリーンアップ作業を実行する必要があるため、MainWindow クラスで QWidget closeEvent を再実装して、ユーザーが X をクリックしたとき、または選択したときにキャプチャします。メニューからファイル→終了。それはうまくいきます。ただし、問題は、VS デバッガーでアプリケーションを実行していて、デバッガーを使用してアプリケーションをシャットダウンすると、クローズ イベントがトリガーされないことです。[ファイル] -> [終了] をクリックするか、[X] をクリックしてアプリケーションをシャットダウンすることはいつでもできますが、デバッガーを忘れてシャットダウンしてしまうことがあるため、非常に面倒です。デバッガーがアプリケーションをシャットダウンしたときにキャプチャする方法はありますか?

0 投票する
1 に答える
748 参照

c# - シャットダウン時のメモリキャッシュの更新を避ける

私はSystem.Runtime.MemoryCacheWeb サービス統合レイヤーで を使用して、外部にあり取得が遅い製品リストを保持しています。ただし、有効期限が切れたときにそれらを更新して、発信者がそれを待たないようにしたいと考えています。そのため、IIS7.5 を使用してこのキャッシュを予熱しRemovedCallback、有効期限が切れたときにデータをリロードする必要があります。

しかし、Web プール プロセスが正常に停止するとどうなるでしょうか。MemoryCache は使い捨てなので、オブジェクトを追い出します。その時点で、プロセス全体を保留しながら、新しいインスタンスを詰め込もうとします。データをリロードしてはならないことを安全に検出する方法はありますか?

0 投票する
1 に答える
1399 参照

delphi - DelphiでUIクローズと強制シャットダウンを区別するにはどうすればよいですか

ユーザーがアプリケーションを閉じようとした場合、Close Query 確認ダイアログを表示したいと思います。システムがシャットダウンしたり、タスクまたはプロセスがタスク マネージャーから終了されている場合は、クリーンアップして終了したいだけです。

私はこのコードを試しました:

...

...

ポップアップ確認には、プログラムを閉じるか、タスク マネージャーからプロセスを終了するかが表示されます。

0 投票する
3 に答える
1199 参照

c++ - プログラムのシャットダウン中にQtワーカースレッドを終了する

Qt 4.8.6、MS Visual Studio 2008、Windows 7 を使用しています。GUI プログラムを作成しました。メインの GUI スレッドとワーカー スレッド (QThreadちなみに、サブクラスは作成していません) が含まれており、サード パーティの DLL 関数への同期呼び出しを行います。これらの関数はかなり遅いです。QTcpServerインスタンスもワーカースレッドの下にあります。私のワーカー クラスにはQTcpServer、DLL ラッパー メソッドが含まれています。

quit()よりも優先されることはわかっていterminate()ますが、プログラムのシャットダウン中に(DLL関数が遅いため)1分間待ちたくありません。ワーカー スレッドを実行しようとすると、別のスレッドからのterminate()停止に関する警告が表示されます。QTcpServerプロセスをシャットダウンする正しい方法は何ですか?

0 投票する
1 に答える
248 参照

java - ctrl^C でのみタスクを実行 (Runtime.getRuntime().addShutdownHook(Thead t) )

アプリケーションがシェルスクリプトから開始される完全なJavaコードとSQ​​Lを含むプロジェクトを開発しています。ユーザーが Ctrl^C を押したときに、いくつかのクリーンアップ タスク (トランザクションを閉じて、突然のメッセージをログに記録する) を実行したいと考えています。

Runtime.getRuntime().addShutdownHook(Thread) でシャットダウンタスクを追加してみました

しかし、アプリケーションが VM を終了するたびに実行され、そのコマンドが強制終了または正常に実行されたかどうかはわかりません。

これを実装するための指針を探しています。

  • 前もって感謝します..!!!