现象:如果执行了filecreate的话,在Append(f)时就出现“I/O Error 32”的错误。
如果不执行的话,没有问题
代码:
procedure TLoger.writeLog(info: string);
var
strdate,str:string;
curpath:string;
f:TextFile;
begin
strdate:=formatDatetime('yyyy_mm_dd',now);
curpath:=ExtractFilePath(Application.ExeName);
if not fileExists(curpath+'\Log\'+strdate+'.txt') then
filecreate(curpath+'\Log\'+strdate+'.txt');//如果执行这句的话,在Append(f)的时候出错
AssignFile(f,curpath+'\Log\'+strdate+'.txt');
Append(f);
WriteLn(f,formatdatetime('hh:nn:ss',now)+' '+info);
CloseFile(f);
end;
如果不执行的话,没有问题
代码:
procedure TLoger.writeLog(info: string);
var
strdate,str:string;
curpath:string;
f:TextFile;
begin
strdate:=formatDatetime('yyyy_mm_dd',now);
curpath:=ExtractFilePath(Application.ExeName);
if not fileExists(curpath+'\Log\'+strdate+'.txt') then
filecreate(curpath+'\Log\'+strdate+'.txt');//如果执行这句的话,在Append(f)的时候出错
AssignFile(f,curpath+'\Log\'+strdate+'.txt');
Append(f);
WriteLn(f,formatdatetime('hh:nn:ss',now)+' '+info);
CloseFile(f);
end;
解决方案 »
- 怎样截获桌面右键菜单上的“刷新”操作的消息?
- 如何使用DBChart
- 请教IdIcmpClient控件的用法
- 如何得到版本信息
- 数据库动态连接问题急。。急救。。100分。。
- ■■如何做可媲美Realplayer,WindowsMediaPlayer的Internet收音机(黄金网络收音机),N多中文电台,大小仅292K???
- 时间查询的问题
- NTFS的USN 如何获取文件的大小和修改时间
- 我想开个Delphi的培训班﹐哪位大哥能提点建议﹐再提供一些有关Delphi的广告语给我﹐赚到钱后不会忘记诸位前辈的﹗
- 怎样控制重画事件?
- fastreport问题急代解决(请教各位))
- TWebBrowser的问题,请赶紧来解决一下我出100分
//函数名: WriteLog(strlog:string); //
//功能描述:将备份和优化时的日志写入 //
//输入参数:strlog 日志内容 //
//输出参数: 无 //
//修改: //
//附加说明: //
***************************************************************}
procedure TNP_AssistantFrm.WriteLog(strlog:string);
var
HFile:TextFile;
strFile:string;
begin
strFile := ExtractFilePath(paramstr(0))+'Log\';
if not DirectoryExists(strFile) then
CreateDir(strFile);
try
strfile := strFile + FormatDateTime('yyyymmdd',StrToDateTime(GetMySqlServerTime))+'.log';
AssignFile(Hfile,strFile);
if FileExists(strfile) then
Append(Hfile)
else
ReWrite(HFile);
writeln(Hfile,strlog);
except
on E: Exception do
Application.MessageBox('写入日志错误','提示',MB_OK);
end;
closefile(Hfile);
end;