求助:TInifile和TOpenDialog 冲突的问题
大家好,我有一个edit框捕获OpenDialog的文件名,然后将该串string写到ini文件中去,却发现直接在edit框里写的string能写到文件中,而通过opendialog得到的string却怎么也些不到ini文件中,正是太奇怪了,不知道大家遇到过没有这种情况,希望有高人指点一二,谢谢。
代码如下:
//打开选项窗口
procedure TFormMain.ActToolOptionExecute(Sender: TObject);
begin
Application.CreateForm(TFormOption,FormOption);
if FormOption.ShowModal = mrOK then //存储所有配置信息
with FormOption do
begin
ini.WriteString( 'SZbp ', 'Sjswt ',Trim(EdSjswt.Text));
end;
FormOption.Release;
end;
//选择深交所委托库
procedure TFormOption.BtnOpnSjswtClick(Sender: TObject);
begin
OpnSjswtDlg.Filter := 'DBF文件(*.dbf)|*.dbf|所有文件(*.*)|*.* ';
OpnSjswtDlg.Title := '请选择深交所委托库(*.dbf) ';
OpnSjswtDlg.FileName := ' ';
if (OpnSjswtDlg.Execute) then
EdSjswt.Text := OpnSjswtDlg.FileName;
end;
之前ini文件已经正常初始化了,自我感觉代码应该没有问题的呀。
[解决办法]
俺试了你的程序,没有发现你说的问题。
注意:如果你用了OpenDialog,那么你要到最后一次打开OpenDialog的路径下找sini.ini文件。因为ini := TiniFile.Create( '.\sini.ini ');是用的当前路径 '. ',而真正写入磁盘时,是在Ini.Free时(此时磁盘缓冲结束)。
[解决办法]
lihuasoft(学习低调做人) 说的对。要用完整路径的ini文件。