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


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
0219
yo0810wait が、PCによって結果が異なる6解決


yo0810

リンク

2020/2/19(Wed) 23:20:19|NO.89517

メインで使用しているディスクトップ(WIN10 HOME)で、下記スクリプトを動かすと
問題なく動きますが、サブで使用しているSuface(WIN10 PRO)で、実行すると
waitが1/10の時間で終わってしまいます。awaitは、想定している時間で終了しました。

何か原因のようなものはあるのでしょうか?

w=10
mes "start"
mes ""+gettime(4)+"時 "+gettime(5)+"分 "+gettime(6)+"秒
repeat w
wait 100
loop
mes "end"
mes ""+gettime(4)+"時 "+gettime(5)+"分 "+gettime(6)+"秒
for i,0,w,1
wait 100
next
mes "end2"
mes ""+gettime(4)+"時 "+gettime(5)+"分 "+gettime(6)+"秒
repeat w
await 1000
loop
mes "end3"
mes ""+gettime(4)+"時 "+gettime(5)+"分 "+gettime(6)+"秒



この記事に返信する


沢渡

リンク

2020/2/19(Wed) 23:44:50|NO.89518

だいぶ前にですが、Windows内部のタイマーが一定時間(およそ1ヶ月ぐらい)を過ぎて
マイナスになると、wait絡みで不具合が発生するという話を聞きました。
Windows8以降は通常の設定だとシャットダウンではタイマーがリセットされないので、
再起動してみたらどうなるでしょう?



yo0810

リンク

2020/2/25(Tue) 21:36:19|NO.89552

沢渡さん、ありがとうございます。

指摘されたWINDOWSの問題かと思い、メニューからWINDOWSを再起動させましたが、
結果は同じでした。

ただ、Sufaceなので、バッテリーを抜いて完全に電源を切るという事が出来ないため、
何かしらクリアされて無い数値があるのがもしれません。

とりあえず、awaitは、問題が無さそうですので、awaitで、実装してみようと
思います。



あらや

リンク

2020/2/25(Tue) 22:23:22|NO.89554

すでに解決済みのようですが
たぶん沢渡さんの仰っているのは完全シャットダウンの事ですね。

関連スレッド
http://hsp.tv/play/pforum.php?mode=all&num=89231
http://hsp.tv/play/pforum.php?mode=pastwch&num=79697


解決法
https://imagingsolution.net/program/windows8/compleat-shut-down/

この方法で高速スタートアップを無効にしてから再起動すると
上手く動作するかもしれません。



yo0810

リンク

2020/2/25(Tue) 23:03:35|NO.89555

あらや さん、ありがとうございます。

こちらは見ていました。ただ、シャットダウンでは、解決方法にならないと思いました。

自分専用のソフトを作っているのではないため、不特定多数の環境下で動く必要が
あるからです。

今回は秒単位だったため、経過時間からのループにするか考えましたが、
まずは動作に問題ない await で対応しようと思います。



とあるプログラマ

リンク

2020/2/26(Wed) 14:51:34|NO.89558

横からですが、どうしても確実に時を刻みたいのであればHSP単体で処理するよりもOS任せなウィンドウタイマーを使ってはどうでしょうか。

http://chokuto.ifdef.jp/advanced/usertimer.html



yo0810

リンク

2020/3/19(Thu) 11:26:42|NO.89756

とあるプログラマさん

ありがとうございます。

返信が遅くなりすみません。

WEB上、スマホ上での動作も視野に入れているため、OSに左右される仕組みは
組み込めないようにしています。

#define #if などが、hsp3dishでも有効だと良かったんですが、まだ非対応のようなので、
現状、安全そうな仕組みで組んでいます。



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