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


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0703
シロウトdoubleが宣言後即座にintになってしまう7未解決


シロウト

リンク

2016/7/3(Sun) 14:21:50|NO.76064

モジュール内で

ddim da,8 stop
のように宣言してデバッグウィンドウで確認すると
型:int
配列:(1,0,0,0)
となってしまいます。どうしてでしょう?
解決策があればご教授願いたいです。



この記事に返信する


スペース

リンク

2016/7/3(Sun) 14:49:41|NO.76065

hsp3.4では正常に宣言できています。
そちらのエディタはバージョンいくつですか?
https://gyazo.com/bf0ce8f291a29501ea9741d8b25c387b



Zero

リンク

2016/7/3(Sun) 15:51:35|NO.76067

モジュール内のそのコードは実行されてますか?



スペース

リンク

2016/7/3(Sun) 15:56:57|NO.76068

>>Zeroさん
実行されてない場合、デバッグウィンドウに表示されないので実行はされているはず。
宣言後にstopして、割り込み処理が一切ないならint型なのはおかしいと思う。



KA

リンク

2016/7/3(Sun) 16:12:02|NO.76070

>>モジュール内で 〜 のように宣言

「のように」なので、モジュール全体が分からないと・・・。
いや、再現できる最小限のスクリプトと言った方が良いのかな。



掘木

リンク

2016/7/3(Sun) 16:32:28|NO.76071

>>スペースさん
HSPは宣言を通る/通らないを問わず、プリコンパイル後のコード内に記述のある変数は自動的に初期に
int/(1,0,0,0)のサイズで初期化されている。

なので実行されていなくともデバッグウィンドウには出る。
とりあえずstop前にlogmesでも仕込んで実行されてるのか明確にしたほうがいい。

#module ddim da,8 logmes "DDIM 実行!" // ←追加してみる stop #deffunc A mes "A run !" return #global A



スペース

リンク

2016/7/4(Mon) 20:08:10|NO.76085

>>掘木さん
そんな馬鹿な・・・と思って試してみたら確かに表示されました。
表示されないというのは私の勘違いでした。

stop a=1



tds12

リンク

2016/7/21(Thu) 23:23:12|NO.76296

hspの#moduleは内部で#globalへのgotoとなっています。
#module内は#deffunc等で命令等として呼び出さないと実行されません。

hspのdim系命令は、あくまで命令であり宣言ではないので、
実行されないことには効果が出ません。



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