Delphi下有个线程的例子,看看吧~

解决方案 »

  1.   

    你的INI文件执行的时候,主程序有没有打开这个INI文件,要是打开了的话,可能会导致文件file in use的错误
      

  2.   

    procedure TCopyThread.threadFunction;
    var 
     ***
    begin
     try
       s := ***;
       slog := TIniFile.Create(s);
       ***
       sTotal := slog.ReadString(DataDirName,'totalbackup','-1');
       ***
       sLog.WriteString(DataDirName,'totalbackup',IntToStr(i+1));
       ***
       sLog.Free;//加上这句试试
       sLog.Free;
     except on E:Exception do
      ****
     end;
    end;
      

  3.   

    是不是你的程序中有多个线程同时访问一个ini文件,如果是这样的话,那最好设定互斥!
      

  4.   

    是不是你的程序中有多个线程同时访问一个ini文件,如果是这样的话,那最好设定互斥!
    hehe !jingpi
      

  5.   

    我已经使用Synchronize调用的读写过程,难道不是这个样子用吗?
    我再做一点说明:
    ini文件的操作只在读写过程中,其他的没有涉及到该文件
    关于free的问题,我已经free过了,我的过程比较长,我捡了部分贴的
    执行过程中没有文件资源冲突的问题,读的操作也很正常,写的时候也不出错,就是写不回文件。使用互斥的办法有很多,用那种比较好?