Indy больше не работает после обновления - PullRequest
1 голос
/ 06 июля 2010

У меня были всевозможные проблемы с Indy, и, следуя чьим-то рекомендациям (в stackoverflow), я обновил до последней версии Indy - по крайней мере, это то, что я намеревался сделать.

Перед началом установки я вручную удалил все файлы, содержащие слово "indy", из моего Delphi и из реестра.Затем я следовал стандартной процедуре установки: http://www.indyproject.org/sockets/Docs/Indy10Installation.en.aspx

Теперь часть кода ниже не работает.Код просто возвращает FALSE;

function Download(CONST aSourceURL: string; CONST aDestFileName: string; OUT aErrm: String): Boolean;
VAR
  Stream: TMemoryStream;
  IDAntiFreeze: TIDAntiFreeze;
  fIDHTTP : TIDHTTP;
begin
  fIDHTTP := TIDHTTP.Create(NIL);
//  fIDHTTP.ConnectTimeout:=5000;     <- not recognized
  fIDHTTP.ReadTimeout:= 1000;
  fIDHTTP.HandleRedirects := TRUE;
  fIDHTTP.AllowCookies := FALSE;
  fIDHTTP.Request.UserAgent := 'Mozilla/4.0';
  fIDHTTP.Request.Connection := 'Keep-Alive';
  fIDHTTP.Request.ProxyConnection := 'Keep-Alive';
  fIDHTTP.Request.CacheControl := 'no-cache';
  IDAntiFreeze := TIDAntiFreeze.Create(NIL);

  Stream := TMemoryStream.Create;
  TRY
    TRY
      fIDHTTP.Get(aSourceURL, Stream);
      {
      if FileExists(aDestFileName)
      then DeleteFile(PWideChar(aDestFileName)); }

      Stream.SaveToFile(aDestFileName);
      Result:= TRUE;
    EXCEPT
      On E: Exception do
        begin
          Result:= FALSE;
          aErrm := E.Message + ' (' + IntToStr(fIDHTTP.ResponseCode) + ')';
        end;
    END;
  FINALLY
    Stream.Free;
    IDAntiFreeze.Free;
    fIDHTTP.Free;
  END;
end; 

Есть ли способ узнать, какую версию Indy я установил?

Редактировать: Также я получаю "Unit idHTTP скомпилировансообщение о другой версии IdException.IdException ". Исправлено.

1 Ответ

2 голосов
/ 08 июля 2010

Сначала вы должны использовать установку Delphi, чтобы удалить версию Indy, установленную с Delphi, - затем вы можете очистить любой оставшийся файл.Не следует начинать с очистки папок и реестра вручную.Затем вы можете установить другую версию.Имейте в виду, что некоторые релизы «ломаются»

...