Вы ничего не делаете неправильно. Эмбаркадеро.
В Delphi 10 Сиэтл (я не имею X Е8), реализация метода Data.DbxHTTPLayer.TDSHTTPNativeClient.SetConnectTimeout является:
procedure TDSHTTPNativeClient.SetConnectTimeout(AMilisec: Integer);
begin
FHTTP.ConnectTimeout := AMilisec;
end;
В Delphi 10.1 Берлин, тот же метод выглядит следующим образом:
procedure TDSHTTPNativeClient.SetConnectTimeout(AMilisec: Integer);
begin
raise ENotImplemented.Create('SetConnectTimeout');
end;
Я редактировал источник (Data.DbxHTTPLayer.pas) к:
procedure TDSHTTPNativeClient.SetConnectTimeout(AMilisec: Integer);
begin
FHTTPClient.ConnectionTimeout := AMilisec;
//raise ENotImplemented.Create('SetConnectTimeout');
end;
И это решило проблему. Первоначальные .dcu и .o изначально помешали фактическому подключению к моему приложению, поэтому я добавил Data.DbxHTTPLayer.pas в свой проект (возможно, это был неправильный способ сделать это).
Зачем Эмбаркадеро это делать? – nolaspeaker
Между 10 и 10.1 они изменили базовую библиотеку HTTP. Я предполагаю, что они хотели вернуться к этому и забыть. – Pat
Заслуживает внимания как проблема качества портала. – nolaspeaker