Delphi6で作成したプログラムを実行途中で終わらせたい時には
どのような方法があるのでしょうか?
ファンクションキーを使うのが手っ取り早いと思ったのですが
設定の仕方がわかりません。ヘルプを見るとエディタオプションで設定すると
書いてありました。
今のままでは実行し始めたらCloseして終了する方法しかない状態です。
よい方法があるならば教えては頂けないでしょうか?
追加ですが、ファンクションキーを使うとしたら具体的にどのような
方法でやればいいのかも教えて頂けると幸いです。
ええと、ファンクションキーに何か割り当てるという行為は、
基本的には何にもしなくていいです。
TMainMenuなどで、Shortcutプロパティに何か指定すると、
勝手にそれがショートカットキーとして働いてくれます。
それ以外にショートカットをつけるには、
フォームのOnShortcutなどを使うといいんだと思います。
ちなみに、WindowsのUIでは常識(?)的なキー(Alt+F4とCtrl+F4)は、
ほうっておいても勝手に割り当てられてます。
> ファンクションキーを使うとしたら具体的にどのような
F1に"ヘルプ"。その他、F9(VBではF5)にはコンパイルなどのキー、
F3は"次を検索"などが有名だと思います。
その辺はやっぱり、ほかのソフト(Delphi自体含む)を参考に割り当てていくといいのではないでしょうか?
たかちみえさん、ご解答ありがとうございます。
アプリケーション自体を終了させることはできるのですが、
停止させることができません。
この場合の停止は、ある命令を中断して別の命令を行うという
意味です。
イメージ的には割り込み処理が当てはまります。
ある命令を中断と言うのは、ループやリピートの途中と言う意味ですか?
その場合は、例えば stop:boolean;等の変数を用意しておき、判断させては
repeat
処理
application.ProcessMessages;
if stop then break;
until xxx;
procedure TForm1.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
begin
if Msg.CharCode=VK_F5 then Stop:=true;
end;
これで、F5を押せば処理が停止します。
「ある命令」の内容がわからないのですが、違う答えかも?
又、停止再開を行う場合はスレッドを使う手も有りますヨ
ツイート | ![]() |