Iniオブジェクトでセーブデータを保存する際の注意点

過去の記事で、『Iniオブジェクト』を用いてセーブデータの作成する方法を解説しました。今回はこれに付随して、Iniオブジェクトでiniファイルを保存する際の注意点について解説いたします。
Iniオブジェクトの使い方については過去の記事も併せてご覧ください。

Iniオブジェクトでセーブデータを保存する

セーブデータを暗号化する

■サンプルプログラム
今回の解説内容のサンプルプログラムです。
cf25_kj_2017-05-04_save_ini_and_file_object.zip

■ファイルオブジェクトでディレクトリ選択ダイアログを開く処理をしている場合に注意が必要
過去の記事において、「Iniオブジェクトでのファイルの読み込み先・保存先には相対パス(例:.\save.ini)が望ましい」という説明をさせていただきましたが、作成しているアプリにおいて、『ファイルオブジェクト』『ディレクトリ選択ダイアログを開く』アクションを使用している場合、少し注意が必要です。

『ファイルオブジェクト』の『ディレクトリ選択ダイアログを開く』アクションにて、『既定のパス』を指定している場合、ファイルオブジェクトによって開かれたパスがIniオブジェクトで相対パスを使用して指定した場合のファイルの指定先に変わってしまう、という仕様が存在するためです。

cf25_blog_kj_2017-05-04_ini_file_object_open_dir1
cf25_blog_kj_2017-05-04_ini_file_object_open_dir2
↑『ファイルオブジェクト』の『ディレクトリ選択ダイアログを開く』アクションの『既定のパス』パラメーターを空白でなくパスを指定している場合、Iniオブジェクトで『.\』を使用して指定したファイルの保存先がそこへ変更されてしまいます。

これに対処するためには、Iniファイルの読み込み時と保存時に、ファイルオブジェクトの現在のディレクトリをアプリケーションパスへ変更します。
cf25_blog_kj_2017-05-04_ini_file_object_open_dir3
cf25_blog_kj_2017-05-04_ini_file_object_open_dir4
↑『現在のディレクトリを変更』アクションで、ファイルオブジェクトが保持しているパスをアプリケーションパス(EXEの存在するフォルダ)へ変更します。これでIniファイルがアプリケーションフォルダ内に保存されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.