ORMBr Fórum - Seja bem vindo

Versão Completa: Datasnap Exemplo
Esta é uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
Bom dia Isaque,
desculpa a insistência... estou estudando os exemplos via firedac, na pasta datasnap tem o cliente e o servidor o servidor esta compilando normalmente mas quando tento executar o cliente da o erro Unit 'firedac.stan.exprfuncs' not found. Fui no exemplo e coloquei a unit no form3 e ainda da o erro....

o erro ocorre quando tento executar esta linha
oDataSnapMaster := TContainerRESTFDMemTable<Tmaster>.Create(FDMaster);

No seu exemplo vc tem um servidor comum usando  fdconnection, usando os métodos no servermetodos insert update e delete e busca tem como no lado cliente trabalhar com objeto puro no exemplo vc utiliza o fdmentable...  e vc tem um exemplo usando objeto puro cliente/servidor mas passando um fdconnection como parametro para conexao com  banco.  tem como usar o cliente puro sem passar um fdconnection... este exemplo esta ok.. executando sem erro...

Desde já agradeço a atenção e o compartilhamento de informações e do projeto.

Geraldo.
(11-03-2019, 11:59 AM)Gedeba Escreveu: [ -> ]Bom dia Isaque,
desculpa a insistência...  estou estudando os exemplos via firedac, na pasta datasnap tem o cliente e o servidor o servidor esta compilando normalmente mas quando tento executar o cliente da o erro Unit 'firedac.stan.exprfuncs' not found. Fui no exemplo e coloquei a unit no form3 e ainda da o erro....

o erro ocorre quando tento executar esta linha
oDataSnapMaster := TContainerRESTFDMemTable<Tmaster>.Create(FDMaster);

No seu exemplo vc tem um servidor comum usando  fdconnection, usando os métodos no servermetodos insert update e delete e busca tem como no lado cliente trabalhar com objeto puro no exemplo vc utiliza o fdmentable...  e vc tem um exemplo usando objeto puro cliente/servidor mas passando um fdconnection como parametro para conexao com  banco.  tem como usar o cliente puro sem passar um fdconnection... este exemplo esta ok.. executando sem erro...

Desde já agradeço a atenção e o compartilhamento de informações e do projeto.

Geraldo.
1o Você terá que ter algum componente CLIENT http para consumir o serviço
2o Consumindo o ORMBr Servidor irá te devolver um JSON, basta convertendo esse JSON no objeto que quiser, e usa-lo

Estude a Unit ormbr.session.datasnap.pas, la vc irá vê como é feito para consumir o JSON e transforma-lo em um objeto puro, como exemplo:

Código:
function TSessionDataSnap<M>.Find: TObjectList<M>;
var
 LJSON: string;
begin
 FRESTRequest.ResetToDefaults;
 FRESTRequest.Resource := '/' + FResource + '/{ID}';
 FRESTRequest.Method := TRESTRequestMethod.rmGET;
 FRESTRequest.Params.AddUrlSegment('ID', '0');
 FRESTRequest.Execute;

 LJSON := TJSONArray(FRESTRequest.Response.JSONValue).Items[0].ToJSON;
 /// <summary>
 /// Transforma o JSON recebido populando o objeto
 /// </summary>
 Result := TORMBrJson.JsonToObjectList<M>(LJSON);
end;
(12-03-2019, 07:00 AM)Isaque Pinheiro Escreveu: [ -> ]
(11-03-2019, 11:59 AM)Gedeba Escreveu: [ -> ]Bom dia Isaque,
desculpa a insistência...  estou estudando os exemplos via firedac, na pasta datasnap tem o cliente e o servidor o servidor esta compilando normalmente mas quando tento executar o cliente da o erro Unit 'firedac.stan.exprfuncs' not found. Fui no exemplo e coloquei a unit no form3 e ainda da o erro....

o erro ocorre quando tento executar esta linha
oDataSnapMaster := TContainerRESTFDMemTable<Tmaster>.Create(FDMaster);

No seu exemplo vc tem um servidor comum usando  fdconnection, usando os métodos no servermetodos insert update e delete e busca tem como no lado cliente trabalhar com objeto puro no exemplo vc utiliza o fdmentable...  e vc tem um exemplo usando objeto puro cliente/servidor mas passando um fdconnection como parametro para conexao com  banco.  tem como usar o cliente puro sem passar um fdconnection... este exemplo esta ok.. executando sem erro...

Desde já agradeço a atenção e o compartilhamento de informações e do projeto.

Geraldo.
1o Você terá que ter algum componente CLIENT http para consumir o serviço
2o Consumindo o ORMBr Servidor irá te devolver um JSON, basta convertendo esse JSON no objeto que quiser, e usa-lo

Estude a Unit ormbr.session.datasnap.pas, la vc irá vê como é feito para consumir o JSON e transforma-lo em um objeto puro, como exemplo:

Código:
function TSessionDataSnap<M>.Find: TObjectList<M>;
var
 LJSON: string;
begin
 FRESTRequest.ResetToDefaults;
 FRESTRequest.Resource := '/' + FResource + '/{ID}';
 FRESTRequest.Method := TRESTRequestMethod.rmGET;
 FRESTRequest.Params.AddUrlSegment('ID', '0');
 FRESTRequest.Execute;

 LJSON := TJSONArray(FRESTRequest.Response.JSONValue).Items[0].ToJSON;
 /// <summary>
 /// Transforma o JSON recebido populando o objeto
 /// </summary>
 Result := TORMBrJson.JsonToObjectList<M>(LJSON);
end;

Bom dia, Isaque

Vou dar uma olhada e estudar...

Obrigado


Geraldo