Comentários sobre: Publicando providers durante o registro dinâmico de DataSnap Server Class http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/ Andreano Lanusse blog - artigos, tutoriais e vídeos sobre tecnologia, desenvolvimento de software (Delphi XE4, C#, PHP, .NET) e técnicas de programação Tue, 04 Mar 2014 04:54:23 +0000 hourly 1 https://wordpress.org/?v=6.5.7 Por: Rodrigo cesr http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-36044 Thu, 23 Jan 2014 23:01:02 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-36044 Olá, não entendi onde devo chamar a procedure RegisterServerClasses(AOwner: TComponent; AServer: TDSServer);, estou utilizando Datasnap Rest, e queria disponibilizar os providers contidos em um TDSServerModule na minha aplicação. obrigado

]]>
Por: Denis http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-9168 Mon, 23 Apr 2012 18:55:41 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-9168 Andreano, gostaria de saber se tem como fazer algo semelhante ao que foi feito aqui, porém na parte cliente. Porque chamar aquela opção do SQLConnection de “generate datasnap client classes” e ele gerar um única unit enorme com tudo publicado é dureza para o trabalho em equipe. Seria ideal ter units menores correspondentes a cada TServerModule. O que você acha?

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-7929 Thu, 12 Jan 2012 07:44:37 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-7929 Em resposta a davi.

Davi,

No create to simpleserverclass tem um parâmetro chamado ExposeProvider, este tem que estar True para que o cliente veja os providers

]]>
Por: davi http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-7813 Thu, 05 Jan 2012 03:29:28 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-7813 Andreano, desculpe minha ignorância mas apesar de usar o delphi desde a versão 4, só estou entrando para o mundo do datasnap agora, até então usava servidores baseados na tecnologia com com o remotedatamodule.

To com uma aplicação onde o server tem uma classe X que é de um tdatamodule, na unit uServerContainer tenho um DSServerClass que retorna a classe X, no lado client o dbconnection conecta normalmente ao servidor quando o mesmo está rodando, contudo mesmo configurando o dsproviderconnection com a classe X não consigo visualizar o provider do lado servidor. O seu artigo parece tratar sobre isso, mas não entendi onde exatamente faço a alteração do código? Esta classe TSimpleServerClass seria a minha classe X??? algum fonte exemplo simples pra me indicar? grato!

]]>
Por: Rodrigo Carreiro | Publicando Providers Durante o Registro Dinâmico de DataSnap Server Class | Consultoria | Treinamento | Rio de Janeiro http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-7809 Wed, 04 Jan 2012 17:49:04 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-7809 […] Fonte: Andreano Lanusse […]

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-7136 Sat, 26 Nov 2011 05:57:30 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-7136 Em resposta a Rafael Pasa.

Rafael é só usar o mesmo código

]]>
Por: Rafael Pasa http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-7114 Thu, 24 Nov 2011 16:06:54 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-7114 Existe uma tecnica parecida para publicar os serverClass num DataSnap Rest Application?

]]>
Por: Tiago http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-6996 Wed, 09 Nov 2011 10:56:27 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-6996 Fazendo uns testes, onde queria expor uma classe herdade de TProviderDataModule. Porém, não executa o método Constructor Create, onde faço a implementação da criação de meu TDataSetProvider e do TSQLDataSet.


{$METHODINFO ON}
TCustomServerClass = Class(TProviderDataModule)
Published
DSProvider:TDataSetProvider;
SQLDataSet:TSQLDataSet;
Public
Constructor Create(AOwner:TComponent); Override;
Destructor Destroy(); Override;
End;
{$METHODINFO OFF}

Constructor TCustomServerClass.Create(AOwner:TComponent);
Begin
Inherited;
DSProvider := TDataSetProvider.Create(Self);
SQLDataSet := TSQLDataSet.Create(Self);
DSProvider.DataSet := SQLDataSet;
SQLDataSet.SQLConnection := UntDMServer.DMServer.SQLConnectServer;
SQLDataSet.CommandType := ctQuery;
End;

Tem algo que eu possa implementar para executar o método Constructor Create ?
Grato!

]]>
Por: Júlio César Ferreira (@jcmferreira) http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-6841 Wed, 26 Oct 2011 22:13:14 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-6841 Em cheio! Resolvido. =))

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-6838 Wed, 26 Oct 2011 20:48:29 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-6838 Este erro pode estar relacionado com várias coisas, comece declarando a unit DbxDatasnap no seu código

]]>
Por: Júlio César Ferreira (@jcmferreira) http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-6837 Wed, 26 Oct 2011 20:40:36 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-6837 Tudo bem Andreano! Já entendi o esquema…

Mas, fazendo uma pergunta extra: Tentei criar um TSQLConnection em runtime para realizar a conexão DataSnap com a aplicação servidor mas, sempre dá o erro:

TDBXError with message ‘Unknown driver: DataSnap’

Existe alguma dica pra funcionar?

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-6835 Wed, 26 Oct 2011 18:45:33 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-6835 Julio,

É só mudar o código e não chegar a herança, o código está assim porque esta é a forma que o DataSnap recomenda e caso você queira expor provider a classe checa se realmente existe um Datamodule associado.

Eu não tenho detalhes do que você está desenvolvendo, mas DataModule para situações de provider é o melhor caminho

]]>
Por: Júlio César Ferreira (@jcmferreira) http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-6832 Wed, 26 Oct 2011 15:02:19 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-6832 Andreano,

Pelo que entendi então, somente poderei disponibilizar um TDataSetProvider se ele estiver dentro de um TDataModule?
Neste caso, sou obrigado a herdar sempre de um TDataModule ou dos seus descendentes?
Existe algum meio para fazer isso de uma classe normal, herdando de TPersistent por exemplo?

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-6826 Tue, 25 Oct 2011 20:32:40 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-6826 Em resposta a Júlio César Ferreira (@jcmferreira).

@Júlio,

O código está correto e funciona perfeitamente quando o DataModule tem providers.

No seu caso você está tentando passar um provider em uma classe, TDataSetProvider não é suportado para passar. Você neste caso tem que usar o TDataSetProvider no datamodule.

Aproveitando atualizei a implementação do exemplo neste post

]]>
Por: Júlio César Ferreira (@jcmferreira) http://www.andreanolanusse.com/pt/publicando-providers-durante-o-registro-dinamico-de-datasnap-server-class/#comment-6823 Tue, 25 Oct 2011 13:17:38 +0000 http://www.andreanolanusse.com/pt/?p=1384#comment-6823 Bom código mas, a implementação não funciona!

Uma cópia exata do código descrito acima para tentar publicar uma classe TUsuario que possui um objeto TDataSetProvider e que precisa ser exposto.

Na aplicação cliente, quando é tentado referenciar o ProviderName do componente TClientDataSet, dá erro de “Invalid class typecast”

]]>