HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0517
saracenaonexit gosubからendで終了すると11解決


saracena

リンク

2014/5/17(Sat) 21:03:41|NO.62052

「閉じる」のツールチップが遅れて出てきます。


onexit gosub *exit repeat if a : end wait 10 loop *exit ; end ;ここで終わっても同様 a=1 return



この記事に返信する


T.T

リンク

2014/5/17(Sat) 21:42:07|NO.62053


onexit gosub *exit repeat if a=1 : end wait 10 loop *exit ; end ;ここで終わっても同様 a=1 return
なぜかこうすると直りました。aをa=1にしただけです。



リンク

2014/5/17(Sat) 22:28:00|NO.62055


onexit *exit stop *exit end

じゃ



??

リンク

2014/5/18(Sun) 00:59:09|NO.62057

試しましたが、a=1でも遅れて閉じるが表示されます。
osはwindows7 HomePremiumで、Aeroは有効です。

>>fさん
確かにそれだと閉じるボタンが遅れて表示されることはなくなりますが、
根本的な解決にはなっていません。
普通はあのソースコードで閉じるが遅れ表示されるなんてことは無いはずです。



KA

リンク

2014/5/18(Sun) 06:25:17|NO.62058

>>「閉じる」のツールチップ
これは何を意味するのだろうか?

>>if a : end
未定義状態のaを、どう判別したいのだろうか?

>>a=1
何をしたかったのだろうか?

>>根本的な解決
根本的に、どういう動作を期待したスクリプトなのか不明。
変なスクリプトなんだから、それを正すのが根本的解決です。



暇人

リンク

2014/5/18(Sun) 07:25:08|NO.62059

本来はNO.62052ので問題ないはずだけど
[X]を押して閉じた数秒後[閉じる]ってツールチップが出る
マウスを動かしてると(?)たまに出なかったりする
endの前にmouse命令で強制的にマウスカーソルを移動させて[X]より離せば出ない感じ

一応これで自分の所では解決した

onexit gosub *exit repeat if a { gsel 0,-1 end } wait 10 loop *exit a=1 return
onexit gosubした場合にHSP側の終了処理に何か問題抱えてそうだけど・・・



あり

リンク

2014/5/18(Sun) 08:24:27|NO.62062

自分が試した限りではonexitでgosubを使うと起こる現象のようで
gotoで戻る場合には大丈夫でした。

onexit *exit *main if a : end wait 10 goto *main *exit a=1 goto *main



saracena

リンク

2014/5/18(Sun) 08:39:52|NO.62063

gotoの場合は起こらないというのは存じておりますが
gosubを使いたい場合もあり
作業中、かなり鬱陶しいです。



saracena

リンク

2014/5/18(Sun) 08:52:07|NO.62064

暇人さんの方法ならサブルーチン内で終了しても出ませんでした。
ありがとうございます。

因みに
>> a=1
return後に終了しても同じ現象が起こることを示したかったわけです。



MillkeyStars

リンク

2014/5/18(Sun) 09:12:48|NO.62065

onexit gosub で、Windows(HSP内部割込み) から割り込みが発生しているのに、その応答をしないで強制的に終了を行えば、ツールチップの表示が遅れて発生するのは普通だと思いますが?
(ウィンドウのコマンドボタンのツールチップは、通常 HSP が管理している物ではないので。)



saracena

リンク

2014/5/18(Sun) 09:55:22|NO.62066

>MillkeyStarsさん
経験が浅く、その辺の事情はよくわかりませんが
HSP内部で対処してもらうことは無理ということでしょうか?



MillkeyStars

リンク

2014/5/18(Sun) 13:41:43|NO.62077

HSP内部・・・難しいと思うよ。
メッセージをHSP内部より先に受け取れば、スクリプト側で処理させることもできるけど、普通はやらない。
(HSP単体ではできないので。)

一番楽な方法が、HSPより先にウィンドウを非表示にしちゃう。
(暇人さんの方法ね)

明示的に Windows 側へこのウィンドウは非表示にするので、ツールチップなどを出さないで。って指示を出しちゃうのが一番楽な方法かなー。



ONION software Copyright 1997-2023(c) All rights reserved.