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


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0307
ONIKISSエラー1の原因推測7未解決


ONIKISS

リンク

2022/3/7(Mon) 19:13:21|NO.95646

HSPでゲームを作成、配布していますが、一部ユーザーの方から起動途中にエラー1が発生し、プレイしできないとの報告を受けております
ですが、大半のユーザーは問題なく起動しており、自身もxpレベルから複数PCで検証しましたが一度も再現出来ておりません。
それでも複数時期にわたり複数のユーザーから報告があり、エラー発生時のスクリーンショットも頂きましたので悪戯等では無いと思います
環境依存の問題ではあるとは思うのですが、報告数自体は少ないため未だ原因の特定に至っておりません

今までの報告から、エラー箇所の推測としまして、buff

プログラム的には起動→必要ファイル読み込み→タイトル画面としており、その際の画像読み込みの途中(読み込み枚数をカウントさせて表示させており、最中である事は間違いないと思います)
該当箇所のコードは

gosub*カウント部分
buffer xxxx
picload zzzz

で数百回同様のコードが続いており、その途中でエラー1で停止しているようです

カウント部分は
redraw 0
load_cnt=load_cnt+1

pos 0,0
gmode 0,800,600
gcopy 1001, 0, 0, 800, 600
color 255,255,255
mes "現在:"+load_time+"
redraw 1
return

です。

全体像は長すぎて記載できず、
該当するのでは無いかと予想した箇所のみの記載で難しいとは思いますが、
これが原因では無いかと言う箇所が推測出来ましたら、お教え頂きたいと思います。



この記事に返信する


TOMATO

リンク

2022/3/7(Mon) 20:08:04|NO.95649

使っているHSPのバージョンやプラグイン、モジュールなども
記載すると回答しやすいんじゃないかな?(使っていないならすいません)

特定バージョンでのみ発生する場合や、
プラグインやモジュールの不具合ということもあり得るので。



窓月らら

リンク

2022/3/7(Mon) 20:33:27|NO.95650

> 1 "システムエラーが発生しました"
> 通常は表示されないエラーです。ファイルが破損している場合や、 予期しない事態が起こった時に表示されます。

ユーザー環境のメモリが足りてないとかちょっと思ったりしましたが。
buffer や picload を大量に実行するとメモリをその分必要としますが、その実装に問題はないでしょうか?



ONIKISS

リンク

2022/3/7(Mon) 22:20:26|NO.95652

>TOMATO様
使っているモジュールはp2b.as、hspda.asの2つのみです。
HSPのverは3.51で開発、配布しましたが、
エラーが発生する方は3.6でコンパイルした実行ファイルでも同タイミングでエラーが出るそうです。


>>窓月らら様
実装内容的には、リアルタイムで規則の無い形で画像を表示させなければならず、
速度的にどうしてもbufferで保持させておかなければならないシステムになっています。

メモリ、CPUなどスペック面では動作FPSこそ落ちるものの、winXP、Atom N270(1.60GHz)、メモリ1GBの骨董品でも動作するレベルで、
エラー発生の方に確認しましたが物理スペック的には充分であると考えています。



MillkeyStars

リンク

2022/3/8(Tue) 08:22:14|NO.95653

hspda.as の vsave および vload の変数保存・読み込み命令を使ったりしてないかな?
使っている場合は、特定の変数情報には使えないので注意
(メモリアドレス・ハンドルなどを保持している命令・各種モジュール・プラグインなどの初期化情報フラグの変数)



とあるプログラマ

リンク

2022/3/8(Tue) 09:16:58|NO.95654

プログラムのよくあるハマりがちな問題として、ユーザー名に日本語(マルチバイト文字)が含まれていると大手のソフトでも正常に実行できないものがあります。

しかしあくまで予測ですので、できればどの関数を実行したタイミングでエラーが起こるのか更に詳細を知りたいところなので、実行ファイル(ctrl+f9で作ったもの)ではなく
start.axとhsp3.exeとhspdebug.dllでデバッグしてもらうとかはいかがでしょうか



zrs90(5さい)

リンク

2022/3/8(Tue) 10:22:39|NO.95655

スマホ投稿だけの、万年初心者です。

p2b.as のマニュアルに、何か載って
ませんでしたか?
(※間違いでなければ、入手先が消滅してる
サイトだったのと、半透明処理を追加して行う
ライブラリ?の様ですが...)

使用する場合に、ランタイムの類の
インストールが必要とか
Direct Xのdll が足りない等...?


後、サイト内検索から、エラー1 で検索すると
そこそこヒットするので、ヒントがあるかも
知れません。



沢渡

リンク

2022/3/8(Tue) 12:46:05|NO.95656

picloadで読み込む画像フォーマットはpngを使っているでしょうか?
前にOpenHSPでpicloadの中身を見たことがあるのですが、
picloadが対応している画像フォーマットのうち、
Windowsの標準機能で読み込んでいるのはbmpとgifとjpgだけで、
それ以外のpng等はGoogle製のライブラリを使っているようです。
(おそらく、pngに標準で対応していない古いWindowsでもpngを扱えるようにするため)
もしかすると、その絡みでエラーが起きているのかもしれません。

あくまでも推測ですが、もしそうであれば、
picloadの代わりにhspcvのcvloadを使えば、もしかしたら解決するかもしれません。
以下の記述をソースコードの冒頭に置けば、
picload命令がcvloadとcvgetimgを使ったものに置き換えられます。

#include "hspcv.as" #undef picload #define global picload(%1,%2=0) cvload %1,0 : cvgetimg 0,(%2)!=1
注意事項として、
・HSPをインストールしたフォルダにある「hspcv.dll」を同梱する必要がある。
・その際、付属のドキュメント等にOpenCVの著作権表示をする必要がある。
 (HSPをインストールしたフォルダのdoclib\hspcv.txtをご覧ください)
・gifはcvloadに対応していないので、gifを読み込む場合は
 「picload@hsp」として実行する。
・上の方法では、picloadの画像ロードモードに2(黒色でウィンドウを初期化してロード)を
 指定した時のことは考慮していません。(2を指定しても0の時と同じ挙動になる)
 もし画像ロードモードに2を指定しなければいけないのなら、また別の対応が必要になるでしょう。



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