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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0402
だいちょシステムエラー発生時にジャンプ7解決


だいちょ

リンク

2012/4/2(Mon) 18:24:23|NO.45711

通常のエラー発生時にジャンプするには、onerrorでいいのですが、システムエラーが発生した時にジャンプするにはどうしたら良いのでしょうか?
onerrorをコードの先頭に書いてみたのですが、システムエラー以外のエラーは指定したラベルにジャンプするのですが、システムエラーはジャンプしません。
サイト上のテキストによって分岐するマクロを作っています。
一応、ソースコードです。

#include "hspext.as" onerror goto *error sdim text //(文字を選択) //(文字をコピー) clipget text ;ここでエラーになります。 if text = "アイス" : mes "食べたーい。" : else : mes "食べたくなーい。" stop *error end
毎回なるわけではないのですが、サーバーが混んでて読み込まなかったりするとエラーになります。

ついでと言ってはなんですが、Pause/Breakキーのキーコードも教えて下さい。

よろしくおねがいします。



この記事に返信する


ヂオン

リンク

2012/4/2(Mon) 20:11:11|NO.45717

エラーを受け取るのは、確か無理だったと思います。
もしかしたら、clipget 命令の 第二引数に関係しているかもしれません

エラーが起こらないように排他処理をしっかり行う必要がある気がするので。
クリップボード取得関数なるものを自分で作って見るもの手かもしれません。



Cookies

リンク

2012/4/2(Mon) 20:53:55|NO.45726

onerrorかなんかでシステムエラーを検知するのは無理です。
システムエラーって、
「hsp3.exeは動作を停止しました…」とか「VC++ Runtime Error!」みたいなやつですよね?
あれはHSPの上にいるWindowsとかVC++Runtimeとかがエラー出してるので、HSPでは取得出来っこありません。

キーコードは「キーコード pause」でググればでてきますよ。



だいちょ

リンク

2012/4/2(Mon) 22:53:49|NO.45735

回答ありがとうございます。

そうですか・・・
clipget textは変数textにクリップボードのテキスト情報を格納するコードですから、クリップボードのテキスト情報が変数に格納できない情報なんだと思いますが。
色々試してみたのですが、画像をコピーしてclipget texを実行すると、何も表示されなくて、エラーにはなりませんでした。
ですが、Web上にあるFlashをコピー(Flashを選択して、[Ctel]+[C]でコピー)して実行すると、システムエラーになりました。

>Cookies
最初にちょっとググって出て来なかったのですが、もう少し調べたら出てきました。
ちなみに19でした。



cats

リンク

2012/4/3(Tue) 19:10:35|NO.45758

システムエラーがよく発生する可能性のあるラベルでは*Aに飛ばせて
それ以外のラベルでは*Bに飛ばせるようにすればどうですか?



inovia

リンク

2012/4/3(Tue) 19:18:54|NO.45760

単純に変数の確保が足りてなくてバッファオーバーフローを起こして落ちてるだけとか?


#include "hspext.as" s = "" repeat 8096 s += "A" loop clipset s o = "" // 64byte clipget o, 8096 end



だいちょ

リンク

2012/4/3(Tue) 21:34:23|NO.45772

>inoviaさん
試してみたのですが、違いました。

>catsさん
質問者が回答するのも変ですが

onerror goto *B //(普通のコード) onerror goto *A //(システムエラーが起きそうなコード) onerror goto *B //(普通のコード) stop *A //(システムエラーが起きた時のコード) stop *B //(普通のエラーが起きた時のコード) stop
でいいのではないでしょうか?
もちろんシステムエラーが発生した時にジャンプする方法は分かりません!(笑)

システムエラーの原因は分かりました。
このサイトはJavaを使用しているので、表示が遅いと文字を選択するはずが、Javaを選択してコピーしてしまってエラーということだと思います。



だいちょ

リンク

2012/4/4(Wed) 16:17:37|NO.45792

自分で解決できました!
今まで文字をダブルクリックで選択していたから、Javaも選択されてしまったのですが、文字をドラックで選択してしまえば、Javaも選択されません。
これで、一応エラーも出なくなりました。
質問内容とは、違う解決方法になってしまいましたけど、解決できたので、解決したことにさせて頂きます。



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