ORMBr Fórum - Seja bem vindo

Versão Completa: TORMBrJson.JsonToObjectList - No Android não funciona
Esta é uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
Olá, esse código funciona perfeitamente num aplicativo Win32, entretanto, quando complicado para Android da erro: Segmentation fault (11)  que significa Access Violation. Não consegui descobrir o motivo, mas creio estar relacionado a função GetNextJSON da unit ormbr.json.

procedure TForm1.Button1Click(Sender: TObject);
var
  ListaGrupo : TObjectList<Tgrupo>;
  Str        : string;
begin
  Str := '[' +
         ' {' +
         '    "id_grupo": 1,' +
         '    "descricao": "GRUPO 1"' +
         ' },' +
         ' {' +
         '    "id_grupo": 2,' +
         '    "descricao": "GRUPO 2"' +
         ' }' +
         ']';

  ListaGrupo := TObjectList<Tgrupo>.Create;
  ListaGrupo := TORMBrJson.JsonToObjectList<Tgrupo>(Str);

  if ListaGrupo.Count = 2 then
   ShowMessage('Tem 2 registros na lista - Funcionou OK');
end;

Obs: Estou usando Delphi 10.3.1
(27-06-2019, 07:40 PM)Marcos Escreveu: [ -> ]Olá, esse código funciona perfeitamente num aplicativo Win32, entretanto, quando complicado para Android da erro: Segmentation fault (11)  que significa Access Violation. Não consegui descobrir o motivo, mas creio estar relacionado a função GetNextJSON da unit ormbr.json.

procedure TForm1.Button1Click(Sender: TObject);
var
  ListaGrupo : TObjectList<Tgrupo>;
  Str        : string;
begin
  Str := '[' +
         ' {' +
         '    "id_grupo": 1,' +
         '    "descricao": "GRUPO 1"' +
         ' },' +
         ' {' +
         '    "id_grupo": 2,' +
         '    "descricao": "GRUPO 2"' +
         ' }' +
         ']';

  ListaGrupo := TObjectList<Tgrupo>.Create;
  ListaGrupo := TORMBrJson.JsonToObjectList<Tgrupo>(Str);

  if ListaGrupo.Count = 2 then
   ShowMessage('Tem 2 registros na lista - Funcionou OK');
end;

Obs: Estou usando Delphi 10.3.1

Correção aplicada e disponível no repositório.