Delphi Indy导致高页面错误和RAM使用

前端之家收集整理的这篇文章主要介绍了Delphi Indy导致高页面错误和RAM使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我遇到一个奇怪的问题.

我使用Delphi和Indy上传和备份一些文件.
它在许多计算机上运行得很好(Win7 64bit,WinXP).
cpu使用率低于1%和最大值. RAM为20MB.

但是有一台计算机(Win 2008 R2)存在问题,我无法找到原因.
cpu使用率为5-20%,RAM需要100MB,而且增加很多.
此外,“页面错误”上升很多,例如.每秒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;

有没有人知道为什么“页面错误增加了很多?
是否有可能存在硬件问题?怎么找到它?

解决方法

只需在“try”子句之前输入“IdHttp:= nil; IdPostData:= nil; sResponse:=’Ok’;”然后重试

–reviewed–稍微更改了你的代码

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;

猜你在找的Delphi相关文章