我遇到一个奇怪的问题。
我使用Delphi和Indy上传和备份一些文件。
它可以在许多计算机(Win7 64bit,WinXP)上正常运行。
CPU使用率小于1%且最大。内存为20MB。
但是有一台计算机(Win 2008 R2)存在问题,我找不到原因。
CPU使用率为5-20%,需要100MB +的RAM,并且会增加很多。
此外,“页面错误”上升很多。每秒10万(在我的计算机上没有增加)
代码很简单
var
IdHTTP: TIdHTTP;
IdPostData: TIdMultiPartFormDataStream;
sResponse: string;
begin
IdHTTP := TIdHTTP.Create(nil);
IdPostData:=TIdMultiPartFormDataStream.Create;
try
IdPostData.AddFile('file', 'C:\data.dat', '');
sResponse:=IdHTTP.Post('http://web.com', IdPostData);
ShowMessage(sResponse);
finally
IdHTTP.Free;
IdPostData.Free;
end;
end;
有人知道为什么“页面错误”会增加很多吗?
是否可能存在某些硬件问题?如何找到它?
最佳答案
只需将“IdHttp:= nil; IdPostData:= nil; sResponse:='Ok';”放在“try”子句之前,然后重试
-已审核-稍微更改了代码
procedure SendFile;
var
IdHTTP: TIdHTTP;
IdPostData: TIdMultiPartFormDataStream;
sResponse: string;
begin
sResponse := 'OK';
IdHTTP := TIdHTTP.Create(nil);
IdPostData:=TIdMultiPartFormDataStream.Create;
try
IdPostData.AddFile('C:\data.dat', 'data.dat', '');
IdHTTP.Post('http://www.yahoo.com', IdPostData);
ShowMessage(sResponse);
finally
IdHTTP.Free;
IdPostData.Free;
end;
end;