開発ブログ - Delphi XE5 - クロスプラットフォームでの IniFile
アプリケーションの設定ファイルとして Windows でよく使われている Iniファイル形式をクロスプラットフォーム開発でもそのまま使うことはよくあると思います。
でも、ちょっと動作に違う部分があることに気がついたので、メモしておきます。
概要
Windows では TIniFile は Windows のAPIが使われていますが、それ以外のプラットフォームでは TIniFile は TMemIniFile そのままです。
そのため同じ TIniFile を使っていても、Windows とその他では若干動作が異なります。
クロスプラットフォームのソースで Ini ファイルを扱う場合は TMemIniFile を使うようにした方が良いでしょう。
IniFiles の継承関係
IniFile のクラスは以下のような関係になっています。
TCustomIniFile -+- TMemIniFile --- TIniFile (Windows以外の場合)
|
+- TIniFile (Windows の場合)
TMemIniFile と WinAPI を使った TIniFile の動作の違い
主な違いには以下のようなものがあります。
- 文字列をダブルクォートで括った場合に、TMemIniFile はそれをストリップしない。
- WinAPI の TIniFile は UTF-8 を受け付けない。
他にもありましたら教えてくださーい。m(_ _)m