Delphi Android Error Client connect to REST server: ‘Cannot set request property after connection is made’

Target Version for running 10.3 Rio apps on Android 9

Ao tentar conectar por DataSnap REST client pelo Android, iOS, OSX com o Delphi 10.3 e Delphi 10.3.1, a aplicação retorna o seguinte erro: Android Client connect to REST server: ‘Cannot set request property after connection is made’

Atualizado 23/07/2019: Embarcadero lançou a versão Delphi Rio 10.3.2, testei aqui no app que estou desenvolvendo e não apresentou mais este bug e nem instabilidade que estava acontecendo anteriormente.
Depois que atualizar tem que remover o arquivo System.Net.HttpClient.pas da pasta do app, pois o mesmo está incompatível com a versão nova, caso você tenha editado este arquivo.
Link para download do Delphi 10.3.2: http://altd.embarcadero.com//download/radstudio/10.3/delphicbuilder10_3_2_496593b.iso

Aparentemente é um bug no Delphi mesmo, para corrigi-lo/contorna-lo terá que fazer os seguintes procedimentos:

  • Copiar o arquivo ” System.Net.HttpClient.pas ” para a pasta do código fonte do seu projeto;
  • Abrir o arquivo e procurar a linha 2133;
  • Inserir uma linha nova e adicionar o código:

{$IF defined(MSWINDOWS) or defined(LINUX)}

  • Depois inserir uma linha nova na linha 2145 e adicionar o código:

{$ENDIF}

Ficará iqual a imagem a baixo, agora salve e compile o projeto que irá resolver o problema.

Fonte Embarcadero Quality: https://quality.embarcadero.com/browse/RSP-23656

4 comentários em “Delphi Android Error Client connect to REST server: ‘Cannot set request property after connection is made’”

  1. AILSON CESAR COSTA DOS ANJOS

    Estou com um problema semelhante a este porem nao recebi nenhuma mensagem de erro no cliente, depois de quase pronto e em fase de teste descobri que ele não roda em todos os dispositivos android, durante o desenvolvimento sempre fiz o teste de deploy em tres dispositivos e funcionou perfeitamente, no entanto quando o coloquei em produção para teste descobri um tipo de incompatibilidade com outros devices no qual nao estou conseguindo filtrar o que pode ser, pois ele roda em android 7 e 8 de alguns dispositivos e em outros com mesma versao de android nao roda, ele fica travado na tela de splash, o que pode ser.

    1. estou com o mesmo problema, tem uns 3 dispositivos que testei que não funcionou, abri um chamado na embarcadero, mas como estou com outro projeto mais urgente tive que deixar esse parado, ai não acessei mais pra ver o que falaram lá rsrsrsrs

Deixe um comentário para Andrews Ricardo Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima