ご質問です。
INIファイルの設定をAPIによって使用していますが、
NT系とWIN系では、プラットフォームが異なる為に宣言の方法を
変更しなければならないのでしょうか?
また、NT系とWIN系の両方に対応する事の出来る
最も良い処理方法をお教えください。
NT系と9x系のことですね?
この二つは文字の扱いが違うため、文字列が必要なAPIは二つのものが用意してあります。
ANSI版(Windows95/98/Me用)は〜〜A
Unicode版(WindowsNT/2000/XP用)は〜〜W
と名前のついたAPIです。
ただ、大体のAPIはコンパイラなどが自分で判断してくれるので、特に気をつける必要はないです。
名前の最後にAかWのついていないAPIを使えば、
OSによってAがついたほうかWがついたほうか、自動的に使えるほうが使われます。
ただ、非公開のAPIは、片方しか用意してありません。
そのあたりは、これを見てください。
http://www.runan.net/program/tips/index.shtml
いつから使えるかわからないし、大体かわりになる関数があるので、
あまり使う機会はないと思いますけど…。
> INIファイルの設定をAPIによって使用していますが、
> NT系とWIN系では、プラットフォームが異なる為に宣言の方法を
> 変更しなければならないのでしょうか?
ANSI用のAPIを利用すれば,どちらでも利用可能です。
> ただ、大体のAPIはコンパイラなどが自分で判断してくれるので、特に気をつける必要はないです。
> 名前の最後にAかWのついていないAPIを使えば、
> OSによってAがついたほうかWがついたほうか、自動的に使えるほうが使われます。
ふにゃ?
コンパイラはどっちか片方に対してのコードしか吐きません。
例えばC言語であれば,UNICODEという識別子が定義されているかどうかだけで判別しています。
なるほど。
ちなみに、ANSI用とUnicode用のAPIの
宣言方法などを、教えてもらえるとありがたいです。
そんなの自分で調べてくれ……って気がします。
MSDN引いて手に入る情報から宣言できますから。
ちなみに,Unicode用のAPIはVBからは通常使いません。
#面倒くさいし。
>ふにゃ?
>コンパイラはどっちか片方に対してのコードしか吐きません。
あらら、そうですか・・・(^^ゞ
まえ、どこかでそんな話を聞いた気がしたので、
とりあえずそう書いておきました。考えてみればおかしいですね、
YuOさん指摘ありがとうございます。
ご協力ありがとうございました。
無事解決いたしました。
ツイート | ![]() |