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
obrigado pela dica ! estava quase desistindo !
Grato pela dica !
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.
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