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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0104
☆七色宝珠★vsave、vloadで複数のファイルを使った場合3未解決


☆七色宝珠★

リンク

2015/1/4(Sun) 00:29:18|NO.66849

プログラム「A」の変数データ(a=1,b=2,c=3)をvsaveで"savedata1"で保存します。
次に、プログラム「B」の変数データ(c=1,d=2,e=3)をvsaveで"savedata2"で保存します。
そして、プログラム「C」でまず"savedata1"を読み込みます。
この時、「C」にはa=1,b=2,c=3が入る、ということで間違いはありませんよね。
この後、「C」で"savedata2"を読み込むと、
「C」での変数の内容は、
a=1,b=2,c=1,d=2,e=3となりますか?
それとも、最初のa,b,cは初期化されて、
a=0,b=0,c=1,d=2,e=3になりますか?
それとも、両方とも違いますか?
教えてください!



この記事に返信する


ZAP

リンク

2015/1/4(Sun) 01:05:26|NO.66851

自分でテストしてみた?



ZAP

リンク

2015/1/4(Sun) 01:14:43|NO.66852

めんどくさいので実際に試してはないのですが、
HSPDA.DLLのマニュアルのvsave、vloadに関する記述をみてみると、

「保存データに記録されるのは、「変数名」と「変数が管理するメモリ内容」
となっています。HSPDAプラグインは、HSPの中間コードに常に変数名を
出力するためにヘッダで「#cmpopt varname 1」の指定を行なっています。
これにより、EXEファイルやオブジェクトファイル出力時にも変数名が
データとして内部に保存されます。ですから、変数名が同じであれば、
まったく異なるスクリプトから保存された変数データからも読み込むことが
できます。あくまでも、変数名とその内容だけが記録されていると
覚えておいてください。」

とあるので、保存されているファイルの中にある変数名に値をセットしている
だけなのではないでしょうか。その他の変数については言及されていないので、
そのままなのではないかと推測されます。

いずれにしても自分でスクリプトを書いてみれば簡単に検証出来ると思います。



☆七色宝珠★

リンク

2015/1/4(Sun) 09:36:18|NO.66853

わかりました、自分で試してみます。
この文を見る限り、初期化はされなさそうですね。



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