さて、問題です。

以下のコードを実行すると正常に実行できません。
具体的には、ダイアログボックスが表示されずに、
すぐにエラーのダイアログが出てしまいます。

include <windows.h>

int main()
{
OPENFILENAME ofn;
char FilePath[MAX_PATH];

}

さて、どこが間違っているでしょうか?
答えは、以下の通りです。

include <windows.h>

int main()
{
OPENFILENAME ofn;
char FilePath[MAX_PATH] = "";

}

間違え探しみたいになっていますが、FilePathの初期化の部分をよく見てみましょう。
どうやら、GetOpenFileName関数の引数として渡す、OPENFILENAME構造体のlpstrFile変数には
nMaxFile以内に終端文字列のコードが無いとエラーが起きるようです。。。

全く気づかずに1時間半ぐらい無駄にしたぞ・・・。

Posted at : 2008-10-17 01:17:05 / Category : none

Comments

まだコメントはありません / No comment.

Send comment


Name


Mail-address (empty is OK. If you want to notify update, please fill mail-address.)


Bot check code (240425 と入力してください / Please input 240425.)