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;

相关文章

ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c++ 调用, 抽空研究了一下该库的最新版 ,把...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的功能是:将源操作数送到目的操作数中,即:...
有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。 1.CreateProcess因为使用复杂...
API原型: Declare Function MoveFileEx& Lib "kernel32" Alias "MoveFileExA" (By...