У меня были всевозможные проблемы с 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 ". Исправлено.