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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0214
Maesukehsp3dishにおけるデータ保存について10未解決


Maesuke

リンク

2013/2/14(Thu) 20:07:30|NO.52387

今hsp3dishでiOS用のアプリを作っています。
そこで質問ですが、マニュアルにはbsaveにおけるオフセットが使用できない旨が記載されているのですが、

http://www.onionsoft.net/wp/archives/tag/hsp3dish

↑こちらの2012/05/08 ver3.3a8 更新概要に、
> bsave,bloadでオフセット値が反映しなかった不具合を修正
とあるのですが、これはオフセットが使えるようになっているという解釈でよろしいのでしょうか?

また、もしオフセットが使えない場合は代替としてnotesave noteloadがiOSにて使用できるのでしょうか。

よろしくお願いします。



この記事に返信する


@key

リンク

2013/2/14(Thu) 20:35:57|NO.52388

文を読む限りオフセットが使える用になったとおもいます

>また、もしオフセットが使えない場合は代替としてnotesave noteloadがiOSにて使用できるのでしょうか。
オフセットとはバイナリを保存するとき保存参照の先頭をずらし保存する機能のはずですが・・・
bsave自体で保存できなくなっていたと思ってるのでしょうか?



Maesuke

リンク

2013/2/14(Thu) 20:57:20|NO.52389

@keyさん
ありがとうございます。
一度bsave bload使ってみます。
notesave noteloadについては語弊がありましたね。オフセットの代替ではなくbsave bloadの代替ということでした。

すみません、もう一つ質問があります(HSPから離れるかもしれません)。
bload bsaveが使った状態でアプリ化した場合、App Storeに公開してから当然DLしたユーザーにてセーブデータが作成されます。
そこで、もしアプリをアップデートしてユーザー側がアプリ更新した場合、セーブデータはユーザーに残ったままアップデートはされるかとは思いますが、HSPとしてはそれをbloadでセーブデータを読み込みますよね。
もしこれがアップデートじゃなく、新規アプリとしてユーザーがDLした場合、セーブデータがないとbloadでエラーが発生してしまいます。
Windowsではexist命令で確認できますが、iOSとなると未知な部分が多いため、もしbsaveでユーザーデータを上書きしてしまったら・・・と考えてしまいます。
その辺りはおにたまさんでしか分からない部分でしょうか。



OK

リンク

2013/2/14(Thu) 21:03:51|NO.52390

こんばんはMaesukeさん、おつかれさまです。
>2012/05/08 ver3.3a8 更新概要
は確認してませんでしたので不確定要素ありますが、ver3.31の時点ではファイルのオフセット指定は無効になっているとの認識です。
>代替としてnotesave noteloadが…
こちらはHSP3と同様の記述が可能であると思われます。
確認方願います。



@key

リンク

2013/2/14(Thu) 21:09:06|NO.52391

doclib\support_cmds.txt にサポート命令一覧があります
noteload、notesaveはサポート外のようなものらしいです



Maesuke

リンク

2013/2/14(Thu) 21:21:28|NO.52392

OKさん @keyさん
ご回答ありがとうございます。
エディタ一応ver.3.32の最新ベータ版を使っています。

今bload bsaveを使ってみたのですが、エラーは出なかったものの、bsaveの時点で0〜60のオフセットを組んだのにもかかわらず、セーブファイルサイズが4バイトしかなく、ロードしたときにも全然別の数字としてロードされてしまいました。
やはりオフセットは対応していないのかもしれませんね。



Maesuke

リンク

2013/2/14(Thu) 21:39:33|NO.52393

すみません、bsaveの記述が間違っていただけでした。
Windows上では正常にbload bsave動くみたいです。



すめし

リンク

2013/2/14(Thu) 22:01:18|NO.52395

失礼します。

HSPdishにて作成したアプリをappstoreで公開しています。
私の場合はbsaveは使用していないのでそちらの仕様については確認していませんが、
notesaveやnoteloadは使用して、問題なく機能しております。

一つだけ記憶にあるのはnotesaveにて、
windows上では「セーブファイルがある場合上書きする」が、
ios上では「セーブファイルが既に存在している場合動作停止する」
という違いがありました。
なので私はセーブする前にセーブファイルをdeleteするようにしています。

参考になれば幸いです。



OK

リンク

2013/2/14(Thu) 22:08:21|NO.52396

>すみません、もう一つ質問があります
について参考程度ですが。
>しこれがアップデートじゃなく…
Androidでの話しですが開発中のバージョンでテストを繰り返すと問題点がないのに、新規インストールしたときエラーが出る事があります。特にセーブ、ロードをするアプリの場合に古いバージョンでのデータを読み取る様です。こうなるとアンインストールしてからテストした方が良いですが、今回はリリースバージョンでの話しでしたので、ご参考程度に…



とおりすがり

リンク

2013/2/15(Fri) 19:57:14|NO.52412

bsave命令によるユーザーデータ保存
http://www.onionsoft.net/hsp/v33/doclib/hsp3dish_ios.htm#BSAVE



おにたま(管理人)

リンク

2013/2/18(Mon) 00:33:28|NO.52460

返信が遅くなってしまってすみません。
bsaveにおけるオフセット値は、windows、iOS、androidともにサポートしています。
動作していないとすれば、不具合となります。
ドキュメントが不明確ですみません。今後整備していきたいと思います。



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