プログラムを止まらないようにするには?


げでん  2002-05-14 09:49:06  No: 75599  IP: [192.*.*.*]

ウィンドウの一番上に青いバー(タイトルバー?)があります。
ウィンドウの一番右上にはコントロールボックスがあります。

これらをプログラム実行時に押したまま(押した瞬間)にしていると、
プログラムの実行が中断されてしまいます。

例:タイマーでLabelのcaptionを1ずつ増加させていく処理
最大化ボタンを押しっぱなしにしていると、その間は
値が増加しないなど。

回避方法はあるのでしょうか。

編集 削除
とらきち  2002-05-14 15:15:41  No: 75600  IP: [192.*.*.*]

それってまずいんですか?
そんなことする人まずいないと思うんですが(笑)

原始的な方法ですが、処理をしている時は
コントロールボックスを無効にしたら如何でしょう。

編集 削除
こころ  URL  2002-05-14 22:21:12  No: 75601  IP: [192.*.*.*]

止まっては困る処理をCreateThreadを使って別スレッドで実行させると
一応は止まりませんがそこまでしてやる価値があるかは疑問です。
(デバッグが困難になるので・・・)

編集 削除
Say  2002-05-15 09:57:00  No: 75602  IP: [192.*.*.*]

>止まっては困る処理をCreateThreadを使って別スレッドで実行させると
VBがスレッドセーフかと言われると若干の疑問が・・・。(^_^;

編集 削除
TEA  2002-05-16 01:36:29  No: 75603  IP: [192.*.*.*]

Query_Unloadのじゃだめなのかな?

編集 削除
Captain Alpha2  2002-05-17 15:42:55  No: 75604  IP: [192.*.*.*]

コントロールボックスを消して自分でコマンドボタンを作って、
終了や最大化の代わりにする方法もあります。
フォントをMarlettに設定すればそれらしくなります。

編集 削除
こころ  URL  2002-05-17 21:43:53  No: 75605  IP: [192.*.*.*]

> VBがスレッドセーフかと言われると若干の疑問が・・・。(^_^;
生成したスレッドでコントロールをいじると何かおかしな動作します。
なので、今回のようにキャプションをいじるとなると
結構危険かもしれませんね・・・。

タイトルバーを自分で描画するのも確かに1つの手ではあると思います。
でも、そっちの方がもっと面倒そう・・・。
タイトルバーってグラデーションとか入るし・・・。

編集 削除
たかみちえ  URL  2002-05-18 00:59:45  No: 75606  IP: [192.*.*.*]

そういうのを作っている人にお願いしたら、
ちょちょいっと作ってくれるかもしれませんよ?
グラデーションタイトルバーとか、グラデーションメニューバーとかなら、
結構よく見かけるし…。

  いまだに起きているわたし…。

編集 削除