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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0605
蛇君1回目のload7解決


蛇君

リンク

2007/6/5(Tue) 22:02:35|NO.8797


text1="" width 500,300 #include "mod_menu.as" ;このファイルはhsp3フルセットに入っているはず #enum global NULL=0 ; NULL #enum CMD_OPEN ; [開く]アイテムのID #enum CMD_SAVE ; [セーブ] 〃 #enum CMD_QUIT ; [終了] 〃 #enum CMD_HELP ; [ヘルプ] 〃 newmenu file,1;ファイル(F) addmenu file,"開く(&O)",CMD_OPEN addmenu file,"保存(&S)",CMD_SAVE addmenu file,"", NULL, $800; セパレータ addmenu file,"終了(&Q)",CMD_QUIT newmenu help,1;ヘルプ(H) addmenu help,"バージョン情報",CMD_HELP newmenu menu,0;メニューバー addmenu menu,"ファイル(&F)",file,$10 addmenu menu,"ヘルプ(&H)",help,$10 *main font "FixedSys",12 objmode 2 pos 0,0 mesbox text1,500,280,5 i=stat objmode 1 oncmd goto*Com, WM_COMMAND applymenu menu stop *Com if (wparam & 0xFFFF) = CMD_OPEN : goto *open if (wparam & 0xFFFF) = CMD_SAVE : goto *save if (wparam & 0xFFFF) = CMD_QUIT : PostMessage hwnd, WM_CLOSE, 0, 0 if (wparam & 0xFFFF) = CMD_HELP : goto *helpA stop *open notesel text3 dialog "txt",16,"テキスト" if stat=0:stop noteload refstr noteunsel objprm i,text3 stop *save notesel text1 dialog "txt",17,"テキスト" if stat=0 :stop notesave refstr noteunsel stop *helpA dialog "hot soup processor" stop

なぜか1回ロードしただけでは表示されません。
2回以降はOKです。
誰かアドバイスください。お願いします。



この記事に返信する


あんすこえむ

リンク

2007/6/5(Tue) 23:31:33|NO.8802

なぜか1回目のDialogを閉じたときだけ、*COMに飛ばされているようです。
HSP自体の問題なのかもしれません。

とりあえずの対処としては、

oncmd goto*Com, WM_COMMAND applymenu menu stop *Com
のあたりを

applymenu menu oncmd goto*Com, WM_COMMAND *Hiber oncmd 1 stop *Com oncmd 0
のようにして、上のstop以外を goto *Hiber で置き換えてみてください。



f

リンク

2007/6/5(Tue) 23:44:27|NO.8804

デバッグウィンドウ付きで起動して、text3の内容を確認してからだと、
1回目でも読めるみたい。

理由はぜんぜん分からないが。



pizza

リンク

2007/6/6(Wed) 00:36:44|NO.8806

mesboxがフォーカスを持ってるとEN_KILLFOCUSが来て
stopしてしまうみたいです。

oncmdをgosubにしてメニュー以外からのWM_COMMANDは
returnでHSPに処理を戻して下さい。



pizza

リンク

2007/6/6(Wed) 01:38:13|NO.8807

多分これ、バグトラック id139の症状ですよね。
(修正は保留中?)



pizza

リンク

2007/6/6(Wed) 01:53:28|NO.8808

・・・と思ったけど、

dialog

フォーカスが失われる(EN_KILLFOCUS)

stop

結果dialogが閉じる前にstop状態になってる?

ってことで、別問題のような・・・?

どちらにしても、oncmdはgosubにした方が良いような気がします。



KIMU

リンク

2007/6/6(Wed) 02:39:09|NO.8809

>フォーカスが失われる(EN_KILLFOCUS)
これが、stopやwaitが無くてもジャンプしてしまうのが問題みたい


button "",*label a="" mesbox a oncmd *label,0x0111 objsel 0 ;ここで*labelにジャンプしてしまう repeat 1000 title str(cnt) loop *label mes wparam stop



蛇君

リンク

2007/6/6(Wed) 22:23:21|NO.8819

実は、3ヶ月前から悩んでいたとか(ぁ

解決。
ありがとうございました。



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