function myfunc(SStr:string):string;
var
mem:TMemoryStream;
begin
mem:=TMemoryStream.Create;
try
mem.Write(SStr[1],length(SStr));
mem.SaveToFile('c:\test.txt');
finally
mem.Free;
end;这个函数是把传进来的字符串,写到一个文本文件里,我担心的是,当它同时被无数个用户调用的时候,出现:
另一个程序正在使用此文件,进程无法访问。
var
mem:TMemoryStream;
begin
mem:=TMemoryStream.Create;
try
mem.Write(SStr[1],length(SStr));
mem.SaveToFile('c:\test.txt');
finally
mem.Free;
end;这个函数是把传进来的字符串,写到一个文本文件里,我担心的是,当它同时被无数个用户调用的时候,出现:
另一个程序正在使用此文件,进程无法访问。
----------------
那你就是蛋疼 超级蛋疼,挑战WINDOWS规则
解决办法,将文件以流的方式加载到数据库中
的时候别的程序正在使用c:\test.txt这个文件是吧,那你就做异常处理,给提示让别人先不要用呀
...
try
mem.Write(SStr[1],length(SStr));
mem.SaveToFile('c:\test.txt');
except
showmessage('让我先用呀');
end
mem.Free;
....
或者CreateFileMapping,别写文件,释放FileMapping的时候再写入而且如果你多进程读写没互斥的话很容易读脏数据