procedure TMain.FormCreate(Sender: TObject);
var FileName1,username,userpassword,userdatabase,userdatasource,ODBC_name:string;var ole_db:boolean;
begin
        FileName1:=extractFilepath(Application.exename)+'mould.ini';
        if not FileExists(FileName1) then
        begin
            FileCreate(FileName1);
            myini:=TiniFile.Create(FileName1);
            myini.writestring('connect_data','sql_username',mycrypt('gkMould'));//到此提示出錯;
            myini.WriteString('connect_data','sql_password',mycrypt('147'));
            myini.WriteString('connect_data','userdatabase','Mould');
            myini.WriteBool('connect_option','oledbsql',true);
            myini.WriteString('connect_data','userdatasource','GKSERVER');
            myini.Writestring('connect_data','ODBC_name','GKMould');
            myini.Destroy;        end;
            myini:=TiniFile.Create(FileName1);
            username:=myini.Readstring('connect_data','sql_username',mycrypt('gkMould'));
            userpassword:=myini.ReadString('connect_data','sql_password',mycrypt('147'));
            userdatabase:=myini.ReadString('connect_data','userdatabase','Mould');
            ole_db:=myini.ReadBool('connect_option','oledbsql',true);
            userdatasource:=myini.ReadString('connect_data','userdatasource','GKSERVER');
            ODBC_name:=myini.ReadString('connect_data','ODBC_name','GKMould');
end;
執行的時間提示不能把信息寫入到文件中。

解决方案 »

  1.   

    FileCreate(FileName1);//造成的。去掉
    操作例子
        FileName:='C:\SysSetup.ini';
        SysIni:=Tinifile.Create(FileName);
        try
          SysIni.WriteString('System','AName','AValue');
          Result:=true;
        except
          Result:=false;
        end;
        SysIni.Free;
      

  2.   

    ini文件自己封装了文件是否存在,等等,无需你建立。
    你建立的文件恰好阻止了TiniFile文件的建立
      

  3.   

    这个
    var
      SysIni:Tinifile;
      

  4.   

    原來如此,謝謝kaguo(▲) Guozhi(★★★★★) !!