第二次运行到该程序会出错,为什么?
第二次运行到:
void __fastcall TFInnerVerh::btn_okClick(TObject *Sender)
{
this->get_InnerVerh_ini(); // 读取打印机设置信息
this->QR_InnerVerh->Print(); // 用报表控件实现打印
}
会出错,具体到get_InnerVerh_ini();这一行,该函数定义如下:
//从ini文件中打印设置
int __fastcall TFInnerVerh::get_InnerVerh_ini()
{
TIniFile *r_ini = new TIniFile("../config/InnerVerhPrinter.ini");
try {
// QR_InnerVerh->PrinterSettings->Copies = 1; //打印份数 1
QR_InnerVerh->PrinterSettings->PrinterIndex = r_ini->ReadString("PRINTERSET", "Printer", "").ToInt();
} __finally {
delete r_ini;
}
return 1;
}
运行至try中的内容时,出错。
其中,ini配置文件的内容是:
[PRINTERSET]
Printer=1
只有两行。
*****************************
按理说是不可能出错的,很不好理解,更无从改错,请问是什么原因?
[解决办法]
Application->ExeName,其实就是调用了ParamStr(0),所以。。。直接用ParamStr(0)就行了。