Comentários sobre: Utilizando generics para transformação genérica de Objetos em DataSnap 2010 http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/ Andreano Lanusse blog - artigos, tutoriais e vídeos sobre tecnologia, desenvolvimento de software (Delphi XE4, C#, PHP, .NET) e técnicas de programação Thu, 02 May 2013 06:56:56 +0000 hourly 1 https://wordpress.org/?v=6.5.7 Por: Arimateia JR http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-6507 Sat, 24 Sep 2011 20:17:01 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-6507 Andreano, acabei de conseguir contornar esse problema. No método JSONToObject, adicionei a constraint “constructor” e funcionou tranquilo. Ficou assim: class function JSONToObject(json: TJSONValue): T;

Agora estou conseguindo transformar as mensagens JSON em objetos de negócio assim: obj := TBaseObject.JSONToObject;

Porém, mudei o nome da classe TBaseObject para TFuncoesJSON. Acredito que assim traduz melhor o real objetivo dessa classe.

Valeu.

]]>
Por: Arimateia JR http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-6506 Sat, 24 Sep 2011 20:05:35 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-6506 Olá Andreano. Parabéns pelo post. Venho aqui esclarecer a seguinte dúvida: tentei usar o método JSONToObject diretamente através da classe TBaseObject, pois o método é estático. Porém dá um “Internal Error” ao tentar fazer o UnMarshal. Observei esse erro, pois as minhas classes de negócio já herdam de outras, então tive que implementar chamando diretamente TBaseObject.JSONToObject. Você poderia me explicar pq está dando esse erro? Obrigado.

]]>
Por: Júlio César Ferreira (@jcmferreira) http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-6467 Sat, 17 Sep 2011 20:24:08 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-6467 Esse recurso de transferência de objetos com o JSON é extremamente interessante.

Mas, se existe uma forma de retornarmos uma classe qualquer através do Server Methods, sendo ela descendente de TObject, qual seria a real necessidade dessa nova implementação?

Desculpe pela pergunta mas, o JSON se torna um padrão mais correto e ideal para a transferência de objetos ou apenas mais uma possibilidade?

Blog nota 10!

]]>
Por: Nelson Lima http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-5975 Fri, 01 Jul 2011 03:31:54 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-5975 Andreano minha dúvida é como serializar o Delta ClientDataSet que é um OleVariant. Fiz uma classe TDeltaPack com o Delta e o ProviderName. Tenho que passar uma array disso para o servidor de aplicação consigo passar o array o ProviderName que é string mas o Delta não. Como devo proceder isso é fundamental para as minhas aplicações.

]]>
Por: Isaque Pinheiro http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-1632 Sun, 07 Nov 2010 23:42:35 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-1632 Heheheheeh, Andreano, estava procurando EXATAMENTE como converter aquela class do post “DataSnap 2010 – Enviando e Recebendo objetos”, em generic, ou seja me deus mastigado, brigadão.

]]>
Por: Claudio http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-1601 Mon, 01 Nov 2010 16:43:44 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-1601 Andreano, na verdade tambem nao tenho duvidas sobre os beneficios, na verdade minha duvida é no processo mesmo.
Acredito que seja assim; tenho uma tabela de clientes e uma de produto. Acho que a melhor solucao seria um ServerMethod para cada tabela.
No lado servidor ficaria assim:
function TDSServer.ListarClientesporCodigo(pCodCli: string): Boolean;
begin
QryCadCli.Active := False;
QryCadCli.CommandText := ‘Select * From CADCLI Where CODCLI = ‘+
QuotedStr(pCodCli);
QryCadCli.Active := True;
end;

E no lado cliente ficaria assim:
procedure TFrmCliente.Button5Click(Sender: TObject);
var
proxy : TDSServerClient;
begin
proxy := TDSServerClient.Create(DSServerCliente.Conexao.DBXConnection);
proxy.ListarClientesporCodigo(Edit1.Text);

DSServerCliente.CdsCadCli.Active := True;
end;

Minha duvida é se esse processo esta correto.

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-1600 Mon, 01 Nov 2010 16:21:53 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-1600 Em resposta a Claudio.

Oi Claudio,

Perdendo o que? Só vejo benefícios utilizando SqlDataSet + Provider + ClientDataSet, esta é a melhor forma de se trabalhar de forma RAD.

]]>
Por: Claudio http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-1599 Mon, 01 Nov 2010 11:59:02 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-1599 Andreano, tenho a seguinte duvida, trabalhando em um ambiente datasnap vou ter meu SqlDataSets e Provider no lado servidor e meus ClientDataSets no lado cliente, estou me perdendo um pouco na hora de trabalhar desta maneira.
Como seria uma boa pratica para esse metodo de trabalho?

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-1077 Thu, 29 Jul 2010 07:16:00 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-1077 Em resposta a Claudio.

Olá Claudio,

Eu diria que não seria percepitiva a diferente, se você for usar só server method e deixar o clientdataset de lado, vai perder uma produtividade enorme no desenvolvimento e todos os benefícios que o ClientDataSet traz para o desenvolvimento RAD.

Tem que prevalecer o bom senso, para o que seja dataware recomendo manter o ClientDataSet.

]]>
Por: Claudio http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-1072 Wed, 28 Jul 2010 17:33:36 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-1072 Andreano, pensando em uma conexao remota utilizando DataSnap, onde meu servidor fica em outro local e acesso meus metodos online, queria saber se a velocidade na hora de trazer uma lista de clientes por exemplo é maior que utilizando o ClientDataSet?

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-982 Tue, 15 Jun 2010 03:28:58 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-982 Oi Hugo não seria diferente, da uma lida nesse artigo aqui do meu amigo Malcolm Groves http://www.malcolmgroves.com/blog/?p=420

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-981 Tue, 15 Jun 2010 03:26:01 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-981 Oi Jose Abilio,

Da uma lida neste artigo http://www.andreanolanusse.com/pt/datasnap-2010-enviando-e-recebendo-objetos/

]]>
Por: Hugo http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-896 Mon, 07 Jun 2010 20:13:51 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-896 Andreano, boa tarde…

Supomos que eu queira trabalhar com INTERFACE (IBaseObject) no lugar da classe. Neste caso como utilizar Generics com INTERFACE?

]]>
Por: José Abílio http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-578 Mon, 12 Apr 2010 19:28:50 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-578 Olá Adreano, muito interessante o seu post, mas completando a pergunta do Fabio, se por ventura a lista for uma lista de objetos, o que devo fazer?

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-566 Sun, 11 Apr 2010 00:34:18 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-566 Oi Fabio, obrigado.

Se você tem uma lista simples (Array), irá usar passar um JSONArray. De uma lida neste outro post http://www.andreanolanusse.com/pt/datasnap-2010-enviando-e-recebendo-array-de-strings-numbers-e-outros-tipos/

]]>
Por: Fabio Monego Puhl http://www.andreanolanusse.com/pt/utilizando-generics-para-transformacao-generica-de-objetos-em-datasnap-2010/#comment-527 Sun, 04 Apr 2010 14:26:28 +0000 http://www.andreanolanusse.com/pt/?p=865#comment-527 Olá, sempre ótimos os seus post, mas neste caso tenho uma duvida como o Marshal se comporta para um objeto com uma lista interna, ou como fazer um objeto que o Marshal consiga funcionar a contento?

]]>