Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Datasnap Exemplo
#1
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.
Responder
#2
(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;

  Isaque Pinheiro
  Fundador do Projeto ORM Brasil
  ORMBr SAC - Assine e faça parte dessa história ajudando o projeto a crescer.

Responder
#3
(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
Responder


Possíveis Tópicos Relacionados...
Tópico: Autor Respostas: Visualizações: Última Mensagem
  Duvida DataSnap Eduardo Piazzi 3 3,399 09-03-2019, 09:03 AM
Última Mensagem: Isaque Pinheiro

Saltar Fórum:


usuários a ver este tópico: 1 Visitante(s)