8

我遇到了一个奇怪的问题。

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

但是有一台计算机(Win 2008 R2)有问题,我不知道为什么。CPU 使用率为 5-20%,它占用 100MB 以上的 RAM,而且增加了很多。此外,“页面错误”上升了很多,例如。每秒 100 000 次(在我的计算机上没有增加)

代码很简单

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;

有人知道为什么“页面错误”会增加很多吗?是否可能存在一些硬件问题?如何找到它?

4

1 回答 1

1

只需将“IdHttp := nil; IdPostData:=nil; sResponse := 'Ok'; ”放在“try”子句之前,然后再试一次

--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;
于 2014-06-13T07:13:08.317 回答