下面這兩個procedure,為伸麼不能建立RMATransferFile.INI 文件?幫我看看問題出在哪裡?謝謝!
procedure TfromTranMain.FormCreate(Sender: TObject);
var
  pcDir: PChar;
  sWindows_Dir : String;
begin
  GetMem(pcDir,144);//配置記憶體
  if GetWindowsDirectory(pcDir,144) <> 0 then
    sWindows_Dir:= String(pcDir);
  FreeMem(pcDir);//釋放記憶體空間  tifIniFile := TIniFile.Create(sWindows_Dir + '\RMATransferFile.INI');
  sSourceFolder := tifIniFile.ReadString('Config', 'SourceFolder', 'c:\RMATransferFile_Source');
  sBackupFolder := tifIniFile.ReadString('Config', 'BackupFolder',  'c:\RMATransferFile_Backup');
  sExceptionFolder := tifIniFile.ReadString('Config', 'ExceptionFolder', 'c:\RMATransferFile_Exception');
  sToPCPFolder := tifIniFile.ReadString('Config', 'ToPCPFolder', 'c:\RMATransferFile_ToPCP');
  sPCPSourceFolder := tifIniFile.ReadString('Path', 'PCPSourceFolder', 'c:\RMATransferFile_PCPSource');
  sCDISourceFolder := tifIniFile.ReadString('Path', 'CDISourceFolder', 'c:\RMATransferFile_CDISource');end;procedure TfromTranMain.FormClose(Sender : TObject;var Action : TCloseAction);
begin
  tifIniFile.WriteString('Config', 'SourceFolder', sSourceFolder);
  tifIniFile.WriteString('Config', 'BackupFolder', sBackupFolder);
  tifIniFile.WriteString('Config', 'ExceptionFolder', sExceptionFolder);
  tifIniFile.WriteString('Config', 'ToPCPFolder', sToPCPFolder);
  tifIniFile.WriteString('Path', 'PCPSourceFolder', sPCPSourceFolder);
  tifIniFile.WriteString('Path', 'CDISourceFolder', sCDISourceFolder);  tifIniFile.Free;
  Database1.Connected :=False;
end;

解决方案 »

  1.   

    tifIniFile := TIniFile.Create(sWindows_Dir + '\RMATransferFile.INI');
    sWindows_Dir是多余的,如果你想创建Ini文件到windows目录下,直接:
    tifIniFile := TIniFile.Create('RMATransferFile.INI');
    这样就行了...
      

  2.   


    var
      Form1: TForm1;
      tifIniFile:TIniFile;
      sSourceFolder,sBackupFolder,sExceptionFolder,sToPCPFolder,sPCPSourceFolder,sCDISourceFolder:String;
    implementation{$R *.dfm}procedure Tform1.FormCreate(Sender: TObject);
    var
      pcDir: PChar;
      sWindows_Dir : String;
    begin
      GetMem(pcDir,144);//配置記憶體
      if GetWindowsDirectory(pcDir,144) <> 0 then
        sWindows_Dir:= String(pcDir);
      FreeMem(pcDir);//釋放記憶體空間  tifIniFile := TIniFile.Create(sWindows_Dir + '\RMATransferFile.INI');
      sSourceFolder := tifIniFile.ReadString('Config', 'SourceFolder', 'c:\RMATransferFile_Source');
      sBackupFolder := tifIniFile.ReadString('Config', 'BackupFolder',  'c:\RMATransferFile_Backup');
      sExceptionFolder := tifIniFile.ReadString('Config', 'ExceptionFolder', 'c:\RMATransferFile_Exception');
      sToPCPFolder := tifIniFile.ReadString('Config', 'ToPCPFolder', 'c:\RMATransferFile_ToPCP');
      sPCPSourceFolder := tifIniFile.ReadString('Path', 'PCPSourceFolder', 'c:\RMATransferFile_PCPSource');
      sCDISourceFolder := tifIniFile.ReadString('Path', 'CDISourceFolder', 'c:\RMATransferFile_CDISource');end;procedure Tform1.FormClose(Sender : TObject;var Action : TCloseAction);
    begin
      tifIniFile.WriteString('Config', 'SourceFolder', sSourceFolder);
      tifIniFile.WriteString('Config', 'BackupFolder', sBackupFolder);
      tifIniFile.WriteString('Config', 'ExceptionFolder', sExceptionFolder);
      tifIniFile.WriteString('Config', 'ToPCPFolder', sToPCPFolder);
      tifIniFile.WriteString('Path', 'PCPSourceFolder', sPCPSourceFolder);
      tifIniFile.WriteString('Path', 'CDISourceFolder', sCDISourceFolder);  tifIniFile.Free;
     Database1.Connected :=False;
    end;
    在USES中加入INIFILES
      

  3.   

    var 
       tifIniFile:TIniFile;