关于配置文件ini的操作解决办法

关于配置文件ini的操作
我的一段从配置文件中读取配置的代码  
 if(FileExists(ExtractFilePath(ParamStr(0))+"a.ini"))//检查配置文件是否存在
  {

  TIniFile *ini= new TIniFile(ExtractFilePath(ParamStr(0))+"a.ini");
  ComboBox1->Text=ini->ReadString("ComboBox1","ComboBox1","");
  Edit1->Text=ini->ReadString("Edit1","Edit1","");
  Edit2->Text=ini->ReadString("Edit2","Edit2","");
//获取配置
  }
  else
  {
  Memo1->Lines->Add("配置文件a不存在");
  }

我的问题是: 我这样写每次它都显示配置文件不存在 但是本地已经存在了 路径也没有错误 但是如果在判断是否存在前加一行代码shoeMessage(ExtractFilePath(ParamStr(0))+"a.ini");
或者AnsiString str=ExtractFilePath(ParamStr(0))+"a.ini";

它就可以运行了  
我想问问具体的原因 请各位大神帮帮忙

------解决方案--------------------
无他,仅是叹息。

你创建一个新工程,将a.ini复制到工程目录下,然后测试以下代码:
C/C++ code
String FileName = ExtractFilePath(ParamStr(0)) + "a.ini";

if (FileExists(FileName)
{
    TIniFile *ini= new TIniFile(FileName);

    ComboBox_Dir->Text = ini->ReadString("ComboBox_Dir", "ComboBox_Dir", "");
    Edit_PO->Text = ini->ReadString("Edit_PO", "Edit_PO", "");
    Edit_Station->Text = ini->ReadString("Edit_Station", "Edit_Station", "");

    delete ini;
}
else
{
    Memo1->Lines->Add("配置文件a不存在");
}