求解关于AnsiString的问题?
无意中发现在FormCreate事件中对Form类得字符串赋初值会丢失。
经过测试这个问题发生在读取ini文件时会产生,如果直接赋值则没有问题。各位高手是嘛原因啊?
void __fastcall TForm1::FormCreate(TObject *Sender){ AnsiString iniFileName = ExtractFilePath(Application->ExeName) + "DeviceIPList.ini"; TIniFile *ini = new TIniFile(iniFileName); try { Count = ini->ReadInteger("COUNT","CN",0); SQLIP = ini->ReadString("COUNT","SQL","NO"); Memo2->Lines->Add("1"+SQLIP); if(Count) { DevicePro.Length = Count; for(int i=0;i<Count;i++) { DevicePro[i].Name = ini->ReadString(IntToStr(i+1),"Name","NO"); DevicePro[i].IP = ini->ReadString(IntToStr(i+1),"IP","NO"); DevicePro[i].State = false; }//for }//if }//try catch(...) { } delete ini;}