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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
1130
26℃oncmdのバグ?4解決


26℃

リンク

2014/11/30(Sun) 18:55:04|NO.66248


#define global ctype HIWORD(%1) (%1 >> 16 & $FFFF) screen 1,300,300 combox a,100,"a\nb" cond_hID@ = objinfo(stat, 2) oncmd gosub *Condcommand, $111 *main_ await 1 goto*main_ *Condcommand if lparam = cond_hID { if HIWORD(wparam) = 1 { screen 1,300,300 ;dialog ""+a;コメントアウトを外すとエラーが発生する ;mes a;コメントアウトするとエラーが発生する dialog "";コメントアウトを外すとエラーが発生しない a+=5;変数だけの計算処理だとエラーは発生しない } } return 0
コンボボックスで種類を選び、それによってスクリーンを作り直す処理をしていたらエラーが起こり気づいたのですが
oncmd で飛んだラベル内の処理でoncmdを読み込んだウィンドウを消す・又は作り直す処理をしたあとに
dialog・mesなどの標準命令と変数を使うとエラーが発生するようです



この記事に返信する


26℃

リンク

2014/11/30(Sun) 19:04:06|NO.66249

>ウィンドウを消す・又は作り直す
消すとかあり得ないか、作り直すだけに訂正します



zero

リンク

2014/11/30(Sun) 20:26:04|NO.66251

多分ですけど、oncmdでgosubジャンプした中で自分のウィンドウをscreenで最初期化していることに
問題があるのでは無いでしょうか?



kanahiron

リンク

2014/11/30(Sun) 20:59:35|NO.66252

過去に似たような質問をして良い回答をもらえました
ご参考に
http://hsp.tv/play/pforum.php?mode=pastwch&num=61472



26℃

リンク

2014/11/30(Sun) 23:37:00|NO.66258

>多分ですけど、oncmdでgosubジャンプした中で自分のウィンドウをscreenで最初期化していることに
>ご参考に
>http://hsp.tv/play/pforum.php?mode=pastwch&num=61472
WM_SIZEでウィンドウ変更したばあいはoncmd 0のあとにウィンドウ初期化でいけるみたいですね
WM_COMMANの場合は挙動が違うのかうまくいかなかったので、ウィンドウ初期化はやめて
widthとclrobjつかってやってみます



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