一个简单问题,请大家帮忙!(关于文件读取的)(100分)

  • 主题发起人 notnoname
  • 开始时间
N

notnoname

Unregistered / Unconfirmed
GUEST, unregistred user!
我在我的可执行文件结尾写了一些信息,以供运行的时候读取。但是我用
TFileStream.Create(FileName,fmOpenRead);的时候总是显示文件已被其他进程运行不能
打开。有什么办法可以实现我想要的操作!谢谢!
 
请大家帮我!
 
文件要用共享模式打开,把fmOpenRead换成fmShareCompat试试。
 
procedure TForm1.Button1Click(Sender: TObject);
var
S : TStream;
buf : array[0..1] of Byte;
begin
S := TFileStream.Create(ParamStr(0),fmOpenRead or fmShareDenyNone);
try
S.Read(Buf, SizeOf(Buf));
ShowMessage(Format('%02X%02X', [Buf[0], Buf[1]]));
finally
S.Free;
end;

end;
 
共享模式没有用,因为我要打开的时候,我的程序已经运行了。感谢你们。我现在用了个
土办法,先把我的程序拷个备份再去读,效率很低,好在我的程序不大。但是我想既然程
序能拷贝为什么不能读呢!
大家能不能再帮我想想办法!
 
使用资源
 
楼上的兄弟,能不能说清楚点?
 
如果只是读取, 我的代码应该可以. 如果涉及到写的问题, 就是用你的办法了, 做个备份
 
这样的话,你可以把你要记录的信息写到文件或是注册表中也是一样,拷贝程序的方法不可取。
 
我这要读就可以,我把一些程序需要的配置防在文件的最后,先用一个配置程序配置。
然后程序运行的时候读取。我怕用户修改配置,所以这样。
to tseug:确实不行!
 
你什么系统, 我在Me上没事...
 
to tseug:不好意思,是我搞错了!您的方法有效!谢谢!
但是我在帮助上没看到您的方法,我写的是 Create(FileName,fmOpenWrite,fmShareDenyNone);
我也搞了很长一段时间delphi总是没长进,很困惑!再次谢谢!
 
多人接受答案了。
 
顶部