GARANTIR DESCONTO

Fórum 3 Camadas #345715

10/09/2007

0

Pessoal, tenho um problema com DataSnap. Na minha aplicação, quando eu adiciono um novo Remote DataModule, eu faço da seguinte maneira:

Nome_do_RDM Internal Single

Nas devidas caixas de identificação.
Abro o arquivo TLB e acrescento ali as funções que eu vou trabalhar no Servidor. Então, a strutura é a seguinte:

RDM_Principal, que é conigurado assim:
Nome_do_RDM Multipla Instancia Apartment

e os demais RDM, ficam como na 1ª configuração.
Acontece, que no módulo cliente, quando eu adiciono um componente TSharedConnection, para se conectar com os RDM filhos, dá o erro de ´Nome Desconhecido´. Na propriedade ChildName, tem uma combo, mas quando eu clico nela, ela se abre em branco. Uma pergunta: Deveria vir na combo, os nomes dos RDM Child? Dessa forma, não consigo abrir a minha aplicação. O que mais devo fazer?


Paulo

Paulo

Responder

Posts

10/09/2007

Brunolspp

Seguinte, pega meu exemplo do 8º DDD, nele está oque vc precisa implementado.

O exemplo está no meu link de downloads gratuitos(abaixo da minha assinatura)


Responder

Gostei + 0

10/09/2007

Paulo

Oi, Brunno, eu já tenho o seu exemplo. Não gostaria de alterar o nome e colocar o meu, mas sim, fazer o meu próprio. Estou fazendo o meu, comparando com o seu. Fiz, teoricamente igual ao seu, mas acho que pequei em alguma coisa que não está funcionando. Já refiz o meu exemplo várias vezes, mas ainda continua dando erro de ´Nome Desconhecido´. Este erro só dá, quando eu uso o componente TSharedConnection e quando eu uso a propriedade ChildName dele. Como disse, a ChildName, eu escrevo na mão. Será que não é isso? Quando crio um Novo RDM_Child, eu dou um nome para ele, tipo RDM_Cadastro e no meu cliente, na propriedade ChildName do TSharedConnection, eu escrevo RDM_Cadastro. É assim mesmo ou não? Peco eu algo, ou é assim mesmo que tem que ser feito? Grato desde já.


Responder

Gostei + 0

10/09/2007

Brunolspp

olha no exemplo as clases secundarias...

elas nao sao internal

e a principal nao e apartment e singles comotds as outras e tds sao multiple instances


o q muda e q na inicializacao dos chields temos a instancia pra dentro de factorys q sao retornada para o client atraves de propriedades readonly na classes principal q sao acessadas pleo shared no cliente.

olha isso no exemplo, q vc percebera como fazer o seu proprio servidor de aplicacao.


Responder

Gostei + 0

10/09/2007

Paulo

Antes de você me responder eu, lendo o Help do Delphi e seu programa, vi que eu precisava implementar no RDM_Principal, um metodo ReadOnly. Fiz isso e não deu mais o erro de ´Nome Desconhecido´ e , propriedade ChildName do Shared veio todos os métodos criados no principal. Mas quando eu rodo, dá um erro no SCKTSVR.EXE. Acho que tem a ver com o que você acabou de falar agora para mim, em relação ao Factory. Como to sem internet em casa, tenho que voltar agora para testar. Só vim postar, que havia descoberto o erro e pode servir para outros que possam estar passando por isso no momento. O seu exemplo é muito é bom, gostei bastante. É muito prático, tá de parabens. Valeu Bruno. Vou quebrar mais um pouco a cabeça. Com seu programa, mais o help e mais o Marco Cantù, tem que sair alguma coisa, eh!eh!eh! T+.


Responder

Gostei + 0

11/09/2007

Brunolspp

Show

qq coisa e so chamar

lembrando que mantenho uma lista somente deste assunto

nddv@yahoogrupos.com.br

Shalon


Responder

Gostei + 0

11/09/2007

Paulo

Olá Bruno, continuo agora com um problema que não consigo resolver. Fui ao Help do Delphi, mas para mim, ainda não ficou claro:
Quando nós adicionamos um método para cada RDM_Child, o delphi faz a declaração dos mesmos na Unit TLB. No RDM principal, ele declara os métodos, e espera então a implementaçõ. Tiipo assim:
RDM_Cadsatro, ele cria a função
Function RDM_Cadastro: IRDM_Cadastro: safecall;
e abre um bloco begin-end, para a implementação. Você fez assim:

Result: ClasseCadastrFactory(....); Como você criou essa ClasseCadastroFactiry? Se eu faço no meu, dá erro de Undeclared Idfentifier. O que se passa no meu. Quando eu rodo o cliente, dá erro de access violation no momento em que eu vou abrir o meu CDS. Como fiz? Assim:
No servidor, coloquei um SQLConnection e ligado a ele um SQLQuery e ligado a ele um DataSetProvider. No cliente, coloquei um CDS e na propriedade ProviderName coloquei o provider do servidor e propriedade RemoteServer, coloquei o SharedConnection. Não funcionou, dá erro de Access Violation e depois diz que o Provider não exportou. Tirei do SharedConnection e coloquei com o Socket e deu o mesmo erro. Fiz um teste no Servidor com o Provider fica como se a a Propriedade Export fique em False, ainda que tenha setado para True. O que pode ser? Grato!


Responder

Gostei + 0

11/09/2007

Brunolspp

ixi amigao..

vc ta precisando faer um treinamento comigo urgente...

vou tentar ajudar..

novamente ao exemplo do DDD 8.

qdo vc vai na tlb e declara o a propriedade readonly e ele vai na interface daclasse q vc escolheu e coloca o metodo get pra vc la implementar

na classe chiald, verifique a secao var da classe q coloquei e declarei o factory e veja q modifiquei o initializaton de todas as filhas pra jogar a instancia dentro do factory e ai poder usa-las nakele metodo.

mas e serio, se nao fncionar e vc quiser, eu tenho todo o treinamento on-line e presencial para estas tecnologias.

e independente de qq coisa, se prcisa [e so chamar


Responder

Gostei + 0

11/09/2007

Paulo

O treinamento me interessou sim, mas dependendo do custo quem sabe? Mande informação.


Responder

Gostei + 0

11/09/2007

Paulo

Bruno, resolvi o problema, ok? Realmente estava no Factory, na Inicialization. Valeu cara!!


Responder

Gostei + 0

06/11/2007

Brunolspp

Eis as informações iniciais sobre o treinamento, caso precise de mais, entre em contato em PVT, será um prazer ajudar.

O treinamento online, ocorre via internet em real time.. e como se estivéssemos na mesma sala
compartilhamos um desktop via logmein e nos comunicamos via skype
e podem ser formatados os treinamentos visando o numero de horas a disponibilidade e a necessidade dos participantes. Ou seja o preço está relacionado ao tipo de treinamento de acordo com as horas programadas para o mesmo.

Para exemplificar como funciona, vou tomar por base o meu treinamento de maior sucesso nos últimos 4 meses:
Vamos sugestionar sua necessidade, partindo do principio que você sabe desenvolver muito bem
client/server, usa plenamente DBExpress, DataSetProvider e ClientDataSet e precisa
construir aplicações de alta disponibilidade, adaptabilidade, velocidade e de alcance geográfico...
necessidade: você precisa de aprender o desenvolvimento BSS com Delphi e DBExpress de
alta performance para aplicações Geográficas e MultiCamadas.

Como isso ocorre... bom vamos listar os tópicos a serem abordados para que se
possa desenvolver....

- Implementando Configurações de Alta Performance no Banco de Dados e
Tipificação de Dados
- Construção de Servidores BSS, Configuração e Distribuição
- Trabalhando com Pooling de Conexão e Otimizando Recursos de Redes
- Implementando Funções Remotas e Parâmetros Otimizados
- Otimizando o Acesso e Manipulação de Dados Com DBExpress,
DataSnap(DataSetProvider/ClientDataSet) e SQL
- Construção de Aplicações Clientes, Configuração e Distribuição
- Recursos Avançados do ClientDataSet
- Técnicas de Interface Inteligente e de Alta Performance com o Usuário
- Tratamento de Erros
- Distribuição de Aplicações Geográficas

Esses tópicos podem ser apresentados num curso 100 ¬ prático de 4 horas.
Podemos combinar o dia e o horário, e independente de fazer o curso ou não estou
aqui para ajudar no que for necessário.E fora isso tudo, você tem meu
msn, meus e-mail e contatos.

Lembrando que tem a lista sobre o assunto que mantenho: nddv@yahoogrupos.com.br

e o meu link de matérias, exemplos, código fonte, slides, apostilas e vídeos em:
http://cc.codegear.com/Author.aspx?ID=795118

Meus contatos:
email: bruno.lichot@codegear.com

Estou as ordens para o que precisar


Responder

Gostei + 0

07/01/2008

Saulopms

Bruno, essa dica vale para páginas asp.net?

se eu criar uma camada ´do meio´ com regras de negócios minhas páginas asp.net podem utilizar essas regras com socket?


Responder

Gostei + 0

07/01/2008

Brunolspp

Voce pode ter um servidor de aplicação, e ter vários tipos de clientes consumindo ele via socket ou soap. Inclusive .NET


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar