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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0915
ぬねのどうしても解決できないんです...(再投稿)7解決


ぬねの

リンク

2014/9/15(Mon) 12:15:47|NO.64973

※ジャンル間違えちゃったので再投稿です。

早速ですが、今作成しているソフトで問題が起きてしまったので投稿させていただきます。
そのソフトはもうほぼ完成段階で後はバグ取りなのですが、どうしても解決できないバグ(?)が起きてしましました。
コレは五時間かけても解決できなかったので、皆様の力をお借りしようかと投稿しました。
https://f52bf94b035a116d324fbe456e5074c0dc093258.googledrive.com/host/0B9GXpc0d50L_bDBBTlQzS3llb0U/test_sorce.zip
ソースコードとDLL一式です。[
※アクティブにするためにANTARES' HSP拡張プラグイン基本セットを利用しています。
※更新の確認にhspinets.dllを使用しています。
※他、様々な方からファイルをお借りしています。

このソフトは、とある箱庭ゲーの日本語入力を補助する目的で作成しました。
それでそのバグは、このソフトの設定のTキーを押されたらこのソフトにカーソルを合わせる機能が二回目以降正常に動作してくれないのです。
また、それとほぼ同じ命令文で動作しているCtrlキーでこのソフトにカーソルを合わせる機能も同じく二回目以降正常に動作しません...
どなたか、このバグを治せる方はいないでしょうか?
HSPをいじり始めて早三年、今まで自力で解決してきましたが、これだけはどうやっても解決できませんでした...
どうか、どうか力を貸してください...!



この記事に返信する


ぬねの

リンク

2014/9/15(Mon) 12:33:36|NO.64978

ごめんなさいなんかウィンドウをアクティブにする命令が何故か消えてました....
一応コードを更新しましたが一向にこのバグは治りません。どなたかお力添えをお願いします...

補足
zip内の各ファイルの説明
Clipper.hsp-->バグを起こしているファイルです。
このソフトの231行目〜263行目&703行目〜734行目です。もしかしたら他にもあるかもしれません。
Clipper_Update.hsp-->Clipper.hspの更新を手助けするファイルのソースコードです
Clipper_Update.exe-->更新の手助けするファイルをコンパイルしたものです。
コレがないとバグが発生するかもしれないので一応。
Clipper_Update_run.bat-->Clipper_Update.exeの更新を確認する際にパラメーターを渡すように作成してあります。
なんかいい方法無いですかね...^^;
Unpack.bat-->7za.exeと組み合わせて更新ファイルの解凍をします。
ちなみに7za.exeは外部から取得します。
incフォルダ-->#includeで取得しているファイルはこの中です。
Licenseフォルダ-->このソフトを"exe化"した際に適用されるライセンスが書かれています。
picフォルダ-->使い方の説明ファイルが置かれています。まだ作成中。



cats

リンク

2014/9/15(Mon) 16:36:06|NO.64991

mod_oncmd2が無いのと一部全角スペースが使用されていたので実行できません。
自分で見つける際はデバッグウィンドウやログ機能を活用して変数を確認してみてください。
実行できていないので原因か分かりませんが、231行目の判定で「変数=値」を
ANDやORでつなげる部分を括弧でくくったほうが良いです。
少なくとも他人に見せるときは見やすくするのが当たり前ですし、これによる不具合も実際にあります。

(例)if ( Tkey_Auto_Cursor == 1 ) & ( T != 0 ) & ( Count > 20 ) {}



ぬねの

リンク

2014/9/15(Mon) 17:02:33|NO.64994

catsさん
あれ..ホントですね oncmd2がどっかいってますね..orz
hspのフォルダ内に入れたようでそれををすっかり忘れていました...
あと全角スペースですが、なんでか私の環境では特になんとも言わすに動いてしまいます。
ちょっと再インストールしたほうがいいのかもしれませんね...
(昔はifコマンドでも括弧を使っていたのですが、とある時に動作しなくなってしまったので一旦外していました。)
一応mod_oncmd2.hspを突っ込んでおきましたので、おそらく動作するかと。
例のごとく
https://f52bf94b035a116d324fbe456e5074c0dc093258.googledrive.com/host/0B9GXpc0d50L_bDBBTlQzS3llb0U/test_sorce.zip
です。



cats

リンク

2014/9/15(Mon) 17:28:55|NO.64997

あなたはchkboxでTkey_Auto_Cursorを1にしています。
一回目のTキー呼び出しでTkey_Auto_Cursorを0にしているので
二回目以降はTkey_Auto_Cursorが0のままでTキーの判定ができないのです。
234行目のTkey_Auto_Cursor=0を消せば直りました。
ただしロードがちゃんとできていないようなので二回目以降の起動時は
またチェックボックスを押さなくてはなりません。
デバッグウィンドウを見ればすぐに分かったようなことなので、私が何か質問を勘違いしているのかも。



ぬねの

リンク

2014/9/15(Mon) 17:58:53|NO.65001

catsさん
あ....あ!治った!!
でも入力欄に入力中にTを含む動作(テストの「て」を入力するとか)をすると全選択されてしまうようですね..
ココはおそらく233行目のobjselを消せば治る..?→再発..orz
エンターを押されるまでTkey_Auto_Cursorを0にしておけばいいのでしょうか?
でもそれだとさっきと同じ感じになるような...?
うーん...
(一応アップしてあるコードを変更してみました。)



cats

リンク

2014/9/15(Mon) 18:11:48|NO.65002

objselの便利な使い方に現在のカーソル位置を取得できることがあります。
問題の

objsel IP1
を次のコードに変更してください。

objsel -1 if stat != IP1 : objsel IP1
objsel -1 で現在カーソル位置があるオブジェクトIDが stat に代入されます。
stat が IP1 であれば入力中と判定できるので、これで全選択されません。



ぬねの

リンク

2014/9/15(Mon) 19:21:00|NO.65012

catsさん
!?objselにそんな使い方が...
今始めて知りました^^;(ハズカシイ)
早速書き換えてと...
全選択されない...!バグがやっと一個潰せた!
あああ!コレで完成しました!本当にありがとうございます!
Ctrlの方も治っていました!
コレでやっとマニュアルの作成にとりかかることができます...ε-(´∀`*)ホッ
本当にありがとうございました....!



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