プレイ日記
SquidSky ugomemo_gorohati
【至急コメントください】バグでしょうか。数値を返す関数なのですが、変数iにかえり値を代入すると、PRINT Iが実行されません。
3そうだね
プレイ済み
返信[1]
親投稿
ぴくと kanau1203
intdialog()でループから抜けてないから?
0そうだね
プレイ済み
返信[2]
親投稿
SquidSky ugomemo_gorohati
違うっぽいです。 ループから抜けて、RETURN VAL(INT$)の部分が問題なんでしょうか?
0そうだね
プレイ済み
返信[3]
親投稿
SquidSky ugomemo_gorohati
詳しくいうと、変数iに結果が代入された(関数の実行が終わった)後に、PRINT Iをすると実行されない、という意味ですね。
0そうだね
プレイ済み
返信[4]
親投稿
RETURN VAL(INT$)を実行したか確認するために、直前にPRINT命令かDIALOG命令を入れてみてはどうでしょうか。
2そうだね
プレイ済み
返信[5]
親投稿
SquidSky ugomemo_gorohati
入れてみたんですが上手くいきません。 やはりこれはコンパイルエンジンの不具合ですか?
0そうだね
プレイ済み
返信[6]
親投稿
うまくいかないというのは、INTDIALOGが正常に終了していると言うことでしょうか。
2そうだね
プレイ済み
返信[7]
親投稿
SquidSky ugomemo_gorohati
DIALOG STR$(I)やKEY 1,STR$(I)でもできました。しかし、?やPRINTはできませんでした。 やはりバグと思われますね。 しかしバグ保存室が作られていないので報告ができません。自分で勝手ながら作らせてもらうしかないですね。
1そうだね
プレイ済み
返信[8]
親投稿
3.3.1版用ならありますよ。 グラフィックの色とGPRIO設定値とCSRZの値はどうなっているでしょうか。
2そうだね
プレイ済み
返信[9]
親投稿
SquidSky ugomemo_gorohati
残り投稿数が9になってしまいました。 GPRIOやCSRZは指定していませんし、グラフィックの色は黒です。下画面です。
0そうだね
プレイ済み
返信[10]
親投稿
スー thanks_0u0
DIALOGなどが正常で、PRINTが動かないんですよね。エラーで止まったりしないなら表示系の設定の問題かもしれません。 PRINTの直前にACLSを入れて正常にPRINTされるようでしたら表示の問題です。 その場合、FADE,GPAGE,GCLS,SPCLR,BGCLR,COLOR,VISIBLEなどを順に試して問題を切り分けて対処すると良いですよ( ´ ω ` )
3そうだね
プレイ済み
返信[11]
親投稿
文字がグラフィックの下に隠れている可能性を考えましたが、違うようですね。
0そうだね
プレイ済み
返信[12]
親投稿
SquidSky ugomemo_gorohati
I=INTDIALOG()以降にPRINTを入れた結果です。(画像)
0そうだね
プレイ済み
返信[13]
親投稿
SquidSky ugomemo_gorohati
HNI_0088.JPG
0そうだね
プレイ済み
返信[14]
親投稿
スー thanks_0u0
実は画面に見えないだけで実行されている可能性があるので、とりあえずI=INTDIALOG()の下の行にACLSを入れてみましょう!( ´ ▽ ` )ノ
2そうだね
プレイ済み
返信[15]
親投稿
SquidSky ugomemo_gorohati
ACLSしても無理でした。 DIRECTモードでの出力結果です。 [OSMODOKI]OK RUN [OSMODOKI]OK このように、黒い隙間がありません。
0そうだね
プレイ済み
返信[16]
親投稿
もしかして、PRINT後プログラムが終了しているのでしょうか。 もしそうであり、DISPLAY 0を実行していないのであれば、下画面に表示しているはずです。WAIT 120などを入れるか実行して下画面を表示する時間を作れば確認できます。
2そうだね
プレイ済み
返信[17]
親投稿
ほしけん Hosiken
肝心の INITDIALOG() の中身がみたいです。 これがないとなんともいえません。
1そうだね
プレイ済み
返信[18]
親投稿
SquidSky ugomemo_gorohati
うわ、投稿残り回数が…… PRINTのあとに、DIALOG ""を入れてみたところ、ダイアログは表示されました。
0そうだね
プレイ済み
返信[19]
親投稿
SquidSky ugomemo_gorohati
公開しました。 公開キーは、画像の一番上です。
0そうだね
プレイ済み
返信[20]
親投稿
ほしけん Hosiken
(たぶんコータさんのご指摘が正解だと思います)
0そうだね
プレイ済み
返信[21]
親投稿
のざらし longyearsago
エラーも出ずに以降の行が実行されていないのなら どこかでループから抜け出せていない可能性が高そうですが INTDIALOG() は本当に RETURN まで辿り着いていますでしょうか? そもそも INTDIALOG() を実行する行に辿り着いていない可能性もあり得ます。 確実に関数が実行されているのでしたら 関数内の変数を PRINT で表示してみて 本当に意図した処理になっているか確認してみるとかどうでしょうか。
0そうだね
プレイ済み
返信[22]
親投稿
ほしけん Hosiken
あ、やっぱり! 公開キー見てみましたが、DISPLAY 1 ですべて下画面にPRINTするようにされてるだけですよ。上画面にPRINTしたければ、INTDIALOG() のあとに DISPLAY 0 すれば終わりです。
3そうだね
プレイ済み
返信[23]
親投稿
SquidSky ugomemo_gorohati
あ、そういってみれば、あ!www そうですね!はいwwあああ。なるほど! やはりコータさんのが正解かもしれないです!終了時にDISPLAY 0をしていなかったはずなんで、そうかもしれないです。
2そうだね
プレイ済み
返信[24]
親投稿
SquidSky ugomemo_gorohati
ありがとうございました!!! おかげで解決しました。ちょっとした自分がおかしたミスでした。w 本当に協力していただいたスーさん、コータさん、ほしけんさん、他2人の方も、ありがとうございました。
3そうだね
プレイ済み